cbcrack 发表于 2020-5-10 17:38:03

qiuyouzhi 发表于 2020-5-10 17:39:47

本帖最后由 qiuyouzhi 于 2020-5-10 17:45 编辑

第三行:
if num != 'Q'
你是认真的吗?
不应该是
if num == 'Q'吗?

永恒的蓝色梦想 发表于 2020-5-10 17:43:16

本帖最后由 永恒的蓝色梦想 于 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))

有谁懂 发表于 2020-5-10 18:08:18

if后面跟的条件错了吧
你的条件是num != 'Q',如果为真,会执行break语句结束循环。
也就是说,当输入不为Q时,循环就会结束,不会执行else后面的程序,你就得不到结果。
正确的做法楼上给出了,你的看看你们之间的差异。
凡是程序中有分支和循环时,我觉得都应该考虑好判断条件。

qiangqiang1 发表于 2020-5-11 14:43:02

永恒的蓝色梦想 发表于 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结束

永恒的蓝色梦想 发表于 2020-5-11 14:44:39

qiangqiang1 发表于 2020-5-11 14:43
while 1:
    n = input("请输入一个整数(输入Q结束程序):")
    if n == 'Q':


????

qiangqiang1 发表于 2020-5-11 14:59:47

永恒的蓝色梦想 发表于 2020-5-11 14:44
????

怎么了?

永恒的蓝色梦想 发表于 2020-5-11 15:00:09

qiangqiang1 发表于 2020-5-11 14:59
怎么了?

哦,明白了

cbcrack 发表于 2020-5-22 20:51:23

页: [1]
查看完整版本: 完全不知道自己错在哪儿,求大神指教