hjhhg1991 发表于 2018-6-8 08:19:21

第十五讲进制转换代码问题

本帖最后由 hjhhg1991 于 2018-6-8 11:32 编辑

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

quesstion
第8行print('十进制 -> 二进制 : %d -> ' % num, bin(num)),我注意到后面的“% num, bin(num)”和前一行%(num,num)少了一个括号。
然后我试着加上这个括号,然后就会报错

1.也就是
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
# 变成 print('十进制 -> 二进制 : %d -> ' %(num, bin(num)))
报错内容如下


问题1,这个括号到底是什么意思,为什么两行的格式不一样。

2.我尝试着把第7行的括号去掉
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
#变成 print('十进制 -> 八进制 : %d -> 0o%o' % num, num)
同样也会报错。



问题2,第7行的报错以后,第8行即使代码没有问题,也没有继续执行下去,有没有方法,在第7行代码报错以后,依然执行第七行代码。

zltzlt 发表于 2019-8-6 19:46:48

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 -> %s' % (num, str(bin(num))))
    else:
      q = False
页: [1]
查看完整版本: 第十五讲进制转换代码问题