小白求解
while True:i = input("请输入一个整数(输入Q停止程序):")
if i != "Q":
i = int(i)
y = "%#x" % i
print("十进制 -> 十六进制:", i , "->" ,y)
x = "%#o" % i
print("十进制 -> 十六进制:", i , "->" ,x)
c = bin(i)
print("十进制 -> 二进制:", i ,"->" ,c)
else:
q = False
为什么 写完之后 输入 Q 停不下来 输入小的q 会报错求大神给改进下而且感觉 还是脑子好笨转不过来弯看了答案才知道自己写的好麻烦 因为你的循环条件是while True啊,一直为真,肯定会永远循环下去 要不你就把while Ture改成while q。在循环外面加上q=True,这样下面的判断else把q改为false之后,while就可以停下来了 把q = False 改成 break 就OK了 还有,你提到的输入小写q会报错,是因为q满足了i !='Q'的条件,进入下一条i = int(i)的时候,int('q')没法转化为整型数,就报错了 本帖最后由 atai0622 于 2021-3-1 23:07 编辑
分享一下我写的{:5_109:}temp = input('请输入一个整数(输入Q结束程序):')
while temp!='Q' :
if not temp.isdigit():
print('输入有误!')
temp = input('请重新输入一个整数(输入Q结束程序):')
else:
num=int(temp)
print('十进制 -> 十六进制 :{} -> {}'.format(num,hex(num)))
print('十进制 -> 八进制 :{} -> {}'.format(num,oct(num)))
print('十进制 -> 二进制 :{} -> {}'.format(num,bin(num)))
temp = input('请输入一个整数(输入Q结束程序):') while True:
i = input("请输入一个整数(输入Q停止程序):")
if i in "Q,q":
break
else:
i = int(i)
print("十进制 -> 十六进制:", i, "->", "%#x" % i)
print("十进制 -> 八进制:", i, "->", "%#o" % i)
print("十进制 -> 二进制:", i, "->", bin(i))
Q大小写都行,so easy while True:
num = input('輸入一個整數或輸入 q 結束程序:')
if num.lower() == 'q':
print('程序結束')
break
try:
num = int(num)
print(f'十进制 -> 十六进制 :{num} -> {hex(num)}\n十进制 -> 八进制 :{num} -> {oct(num)}\n十进制 -> 二进制 :{num} -> {bin(num)}')
continue
except:
print('輸入有誤!請', end = '')
continue
页:
[1]