如何不使用类型转换将数字转为字符串?求兼容数字0的解决方案
兼容数字0的数字转字符串解决方案
原代码的问题很直接:当输入数字0时,while number != 0的条件不成立,循环完全不会执行,最终输出空字符串,而非预期的'0'。
这里提供两种简单的修复方案:
方案一:提前处理0的情况
直接在循环前判断输入是否为0,若是则直接设置结果为'0',否则执行原有循环逻辑:
number = int(input('enter the number')) digits = '0123456789' result = '' if number == 0: result = '0' else: while number != 0: result = digits[number % 10] + result number = number // 10 print(result)
方案二:循环后补全0的情况
保留原循环逻辑,在输出时判断结果是否为空(即输入为0的情况),为空则输出'0':
number = int(input('enter the number')) digits = '0123456789' result = '' while number != 0: result = digits[number % 10] + result number = number // 10 # 输入为0时result为空,此时输出'0' print(result if result else '0')
两种方案都能完美解决输入0的兼容问题,可根据习惯选择使用。
内容的提问来源于stack exchange,提问作者Divyajit DJ
相关产品推荐
相关产品推荐

