kerrykerry 发表于 2020-4-3 18:23:16

第015讲动动手

while 1 :
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
      if num == int(num):
            print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
            print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
            print('十进制 -> 二进制 : %d -> ' % num, bin(num))
      else :
            print('输入有误')
    else:
      print('退出程序')
      break


为什么我这样写,不管输入什么数字,都是显示输入有误

dlnb526 发表于 2020-4-3 18:23:17

本帖最后由 dlnb526 于 2020-4-3 18:30 编辑

num == int(num)不同数据类型~肯定不行呀

while 1 :
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
      try:
            num =int(num)
            print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
            print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
            print('十进制 -> 二进制 : %d -> ' % num, bin(num))
      except :
            print('输入有误')
    else:
      print('退出程序')
      break

你该使用try except语句

dlnb526 发表于 2020-4-3 18:32:13

dlnb526 发表于 2020-4-3 18:29
不同数据类型~肯定不行呀




Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示:
try:
    可能产生异常的代码块
except [ (Error1, Error2, ... ) ]:
    处理异常的代码块1
except [ (Error3, Error4, ... ) ]:
    处理异常的代码块2
except:
    处理其它异常


try except 语句的执行流程如下:
首先执行 try 中的代码块,如果执行过程中出现异常,系统会自动生成一个异常类型,并将该异常提交给 Python 解释器,此过程称为捕获异常。
当 Python 解释器收到异常对象时,会寻找能处理该异常对象的 except 块,如果找到合适的 except 块,则把该异常对象交给该 except 块处理,这个过程被称为处理异常。如果 Python 解释器找不到处理异常的 except 块,则程序运行终止,Python 解释器也将退出。

kerrykerry 发表于 2020-4-3 18:36:47

dlnb526 发表于 2020-4-3 18:23
不同数据类型~肯定不行呀




谢谢大佬拯救小白
页: [1]
查看完整版本: 第015讲动动手