第三行:
if num != 'Q'
你是认真的吗?
不应该是
if num == 'Q'吗? 本帖最后由 永恒的蓝色梦想 于 2020-5-11 15:01 编辑
while 1:
num = input("请输入一个整数(输入Q结束程序):")
if num == 'Q':
break
else:
num = int(num)
print('十进制 -> 十六进制:%d -> %#x' % (num, num))
print('十进制 -> 八进制:%d -> %#o' % (num, num))
print('十进制 -> 二进制:%d -> ' % num, bin(num)) if后面跟的条件错了吧
你的条件是num != 'Q',如果为真,会执行break语句结束循环。
也就是说,当输入不为Q时,循环就会结束,不会执行else后面的程序,你就得不到结果。
正确的做法楼上给出了,你的看看你们之间的差异。
凡是程序中有分支和循环时,我觉得都应该考虑好判断条件。 永恒的蓝色梦想 发表于 2020-5-10 17:43
while 1:
n = input("请输入一个整数(输入Q结束程序):")
if n == 'Q':
break
else:
num = int(n)
print('十进制 -> 十六进制:%d -> %#x' % (num, num))
print('十进制 -> 八进制:%d -> %#o' % (num, num))
print('十进制 -> 二进制:%d -> ' % num, bin(num))
倒数第二行少了一个括号
if n == 'Q':这是等于Q结束
qiangqiang1 发表于 2020-5-11 14:43
while 1:
n = input("请输入一个整数(输入Q结束程序):")
if n == 'Q':
???? 永恒的蓝色梦想 发表于 2020-5-11 14:44
????
怎么了? qiangqiang1 发表于 2020-5-11 14:59
怎么了?
哦,明白了
页:
[1]