且听峯吟 发表于 2021-9-4 16:32:20

第十五课的操作题,想知道错在哪里!

本帖最后由 且听峯吟 于 2021-9-4 16:44 编辑

temp = input("请输入一个整数(输入Q结束程序):")
while 1:
    if input == "Q":
      break
    else:
      trans = int(temp)
      x = "%x" % trans
      o = "%o" % trans
      t = bin(trans)
      print("十进制 -> 十六进制:", trans, "->", x)
      print("十进制 -> 八进制:", trans, "->", o)
      print("十进制 -> 二进制:",trans, "->", t)
      break

(以上是我错误的做法,得到的错误点:1.输入数据后一直运作没法暂停。2.print出的数据前少了“0x”和“0o”。3.输入“Q”后无法停止程序,会报错。)

不太明白问题出在哪里了{:10_266:} 求大神指点

逃兵 发表于 2021-9-4 16:36:32

input要给变量,你这样python搞晕了

且听峯吟 发表于 2021-9-4 16:38:02

逃兵 发表于 2021-9-4 16:36
input要给变量,你这样python搞晕了

{:10_250:}复制下来漏了!!原来是有给变量的!骚瑞!已经编辑好啦!

逃兵 发表于 2021-9-4 16:39:35


temp = input("请输入一个整数(输入Q结束程序):")
while 1:
    if temp == "Q" or temp == 'q':
      break
    else:
      trans = int(temp)
      x = "0x%x" % trans
      o = "0o%o" % trans
      t = bin(trans)
      print("十进制 -> 十六进制:", trans, "->", x)
      print("十进制 -> 八进制:", trans, "->", o)
      print("十进制 -> 二进制:",trans, "->", t)
      break

且听峯吟 发表于 2021-9-4 21:25:08

逃兵 发表于 2021-9-4 16:39


if temp == "Q" or temp == 'q':

不好意思再问问这句是什么意思呀!

_荟桐_ 发表于 2021-9-4 21:51:44

while 1:
    temp = input("请输入一个整数(输入Q结束程序):")
    if temp == "Q" :
      break
    else:
      trans = int(temp)
      x = "%x" % trans
      o = "%o" % trans
      t = bin(trans)
      print("十进制 -> 十六进制:", trans, " -> 0x", x)
      print("十进制 -> 八进制:", trans, " -> 0o", o)
      print("十进制 -> 二进制:",trans, " -> 0b", t)

且听峯吟 发表于 2021-9-4 21:56:31

_荟桐_ 发表于 2021-9-4 21:51


我明白了!!!感谢{:10_302:}

blahblahfc 发表于 2021-9-10 13:01:38

也可以试试:

while True:
    temp = input("请输入一个整数(输入Q结束程序):")
    if temp in ["Q", "q"]:
      break
    else:
      trans = int(temp)
      print('十进制 -> 十六进制:{}->{:#x}'.format(trans, trans))
      print('十进制 ->   八进制:{}->{:#o}'.format(trans, trans))
      print('十进制 ->   二进制:{}->{:#b}'.format(trans, trans))
页: [1]
查看完整版本: 第十五课的操作题,想知道错在哪里!