litianyang 发表于 2020-4-26 14:57:26

求助

q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
      num = int(num)
      print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
      print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
      print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
      q = False
这是答案
shuru = input('请输入一个整数,(输入Q结束程序:)')
x = int(shuru)
if x != 'Q' :
      print('十进制 -> 十六进制:', x ,'->','0x''%x' % x )
      print('十进制 -> 八进制:', x ,'->','0o''%o' % x)
      print('十进制 -> 二进制:', x ,'->',bin(x))
else:
    print('结束')
这是我的有啥不同了
   

wuqramy 发表于 2020-4-26 15:00:04

本帖最后由 wuqramy 于 2020-4-26 15:10 编辑

你要不等于Q在int啊
不然用户输入Q,把Q(Q是一个字符串)整形化会报错
还有就是你没有加循环(这个倒是无所谓)
还有缩进不一致

小无趣 发表于 2020-4-26 15:02:21

答案那边是写了一个循环,只有输入的值是Q才会结束,而你写的是判断输入的整数是不是Q,不是Q就执行
      print('十进制 -> 十六进制:', x ,'->','0x''%x' % x )
      print('十进制 -> 八进制:', x ,'->','0o''%o' % x)
      print('十进制 -> 二进制:', x ,'->',bin(x))
这一块,如果是Q就直接打印结束,你这就像是一次性样的

zltzlt 发表于 2020-4-26 17:36:47

答案询问了多次,你的只询问了一次。

而且如果用户输入 Q 会报错,因为你先把 shuru 转化为整数了,应该先输入,判断 x 不为 Q 后再将 x 转化为整数。
页: [1]
查看完整版本: 求助