竹茶 发表于 2019-2-12 15:33:26

求大佬解决一下萌新问题

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
这是甲鱼的15节课后作业最后一题答案但是我发现输入字符会报错所以我想改一下

num = input('请输入一个整数(输入Q结束程序):')
i =isinstance(num,str)
while i == True:
    num = input('请输入一个整数(输入Q结束程序):')
    i =isinstance(num,int)
    break
   

q = True
while 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
让 用户输入字符串时回给提示   结果错了错哪里 请告诉一下如果知道咋弄请写下代码谢谢!

冬雪雪冬 发表于 2019-2-12 15:36:07

input得到是都是字符串,不论你输入的是数字还是其他。

BngThea 发表于 2019-2-12 15:38:27

input返回的始终是str,你可以用str的方法isdigit来判断输入的是不是数字

塔利班 发表于 2019-2-12 15:42:58

你定义的i没啥意义,input只返回字符串,字符串是不是整数型,可以用isdigt()来判断

竹茶 发表于 2019-2-12 16:09:57

BngThea 发表于 2019-2-12 15:38
input返回的始终是str,你可以用str的方法isdigit来判断输入的是不是数字

什么意思有代码嘛

BngThea 发表于 2019-2-12 16:15:38

竹茶 发表于 2019-2-12 16:09
什么意思有代码嘛

a=input()
if a.isdigit():
    #do something

空python 发表于 2026-7-17 00:24:19

赞一个
页: [1]
查看完整版本: 求大佬解决一下萌新问题