为了账号安全,请及时绑定邮箱和手机立即绑定

为何 isinstance

temp = input(" 不妨猜一下小甲鱼现在心里想的是哪个数字: ")

while not isinstance(temp, int):

    print(" 抱歉,输入不合法, ", end='') 

    temp = input(" 请输入一个整数: ")

为何输入什么数字他都是 在while循环当中



正在回答

1 回答

在python3.x中raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。

所以,不管你输入的什么,isinstance都会返回false,然后再not变为true.那么永远是死循环。故应该将输入的数据进行转换。

参考代码:

temp = eval(input(" 不妨猜一下小甲鱼现在心里想的是哪个数字: "))

while not isinstance(temp, int):

    print(" 抱歉,输入不合法, ", end='')

    temp = input(" 请输入一个整数: ")



1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为何 isinstance

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信