gaoxiuhua520 发表于 2022-8-17 17:15:13

有没大哥哥大姐姐懂得,那什么时候不要加括号呢?

我的
q =True
while q:
    num =input("请输入一个整数(如果输入Q结束): ")
    if num != "Q":
      num =int(num)
      print("十进制 ->十六进制:%d -> %#x" % (num,num))
      print("十进制 -> 八进制: %d -> %#o" %(num,num))
      print("十进制 ->二进制:%d ->" % (num,bin(num)))
    else:
      q =False
小甲鱼的
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
我的十进制到二进制 ,num,bin(num) 加个括号上去报错TypeError: not all arguments converted during string formatting

南归 发表于 2022-8-17 17:23:39

你的%是管后面所有的,加括号是管了 (num,bin(num)),不加括号是% num,然后后面还有, bin(num),能不报错吗

临时号 发表于 2022-8-17 17:28:49

print('十进制 -> 二进制 : %d -> ' % num, bin(num))
这一行其实与其它几行不一样
这样行中只有一个格式化字符%d,只是格式化了num
如果num=10,那么它格式化完后其实是这样
print('十进制 -> 二进制 : 10 -> ' , bin(num))
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
而这一行的格式化字符有两个%d和%o
所以如果num=10,那么它格式化完后其实是这样
print('十进制 -> 八进制 : 10 -> 0o12')

gaoxiuhua520 发表于 2022-8-17 17:42:12

南归 发表于 2022-8-17 17:23
你的%是管后面所有的,加括号是管了 (num,bin(num)),不加括号是% num,然后后面还有, bin(num),能不报错吗

bin(num)这个怎么代入到-> 后方的—>是空白啊

临时号 发表于 2022-8-17 17:56:00

gaoxiuhua520 发表于 2022-8-17 17:42
bin(num)这个怎么代入到-> 后方的—>是空白啊

print("hello","word")你能看懂这个不,你能看懂这个就能理解了
如果num=10,那么它格式化完后其实是这样
print('十进制 -> 二进制 : 10 -> ' , bin(num))
是不是就是print("hello","world")的形式
页: [1]
查看完整版本: 有没大哥哥大姐姐懂得,那什么时候不要加括号呢?