零基础python15讲动手题
q = Truewhile 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
这道题本身没什么不明白的,不过在打的时候总是想再加一个“”如果输入的不是数字就提示重新再打一次’的条件,不过不太会加,求大佬指点一下 本帖最后由 heidern0612 于 2020-7-21 15:39 编辑
外包一层判断就好。
isdigit用法:戳我前进
q = True
while q:
num = input('请输入一个整数(输入Q结束程序):')
if num != 'Q':
if num.isdigit():
num = int(num)
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
else:
print("请输入一个数字!")
else:
q = False
可以用isdigit检测是否为数字吧 本帖最后由 sunrise085 于 2020-7-21 16:01 编辑
while True:
num = input('请输入一个整数(输入Q结束程序):')
if num != 'Q' : #先判断是不是退出标记
ifnum.isdigit(): #若不是退出标记,在判断是不是数字
num = int(num)
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
else: #若不是数字,给出提示
print("请输入一个数字!")
else: #若输入的是Q,则退出
break 我修改了你的代码以实现你想要的功能:
while True:
num = input('请输入一个整数(输入Q结束程序):')
# Q 判断
if num == 'Q':
break
# 数据类型判断
elif not num.isdigit():
print('请输入一个数字!')
continue
# 都没问题就正常执行
num = int(num)
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
如果您对我的答案感到满意,请设置最佳答案!谢谢。
多谢各位大佬
页:
[1]