猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
使用如下这个输入字母可以,但是是输入字母就直接报错中断了?为什么?
while True:
ten=input('Enter a number:')
if type(eval(ten))==type(int):break
猛跑小猪
浏览 194
回答 3
3回答
慕运维8079593
主要出在eval上。python3.0第一个方案:while True:ten=input("x:")try:x=eval(ten)if type(x)==int:breakexcept:pass然后输入asf,没有提示。输入344就退出了x:asfx:344第二个方案while True:ten=Nonetry:ten=int(input("x:"))except:passif type(ten)==int:break这个在python3.0上调试通过第三个方案:python2.x的方案while True:ten=raw_input("Enter a number:")if ten.isdigit():breakten=int(ten) #或者是ten=eval(ten)都调试过。可以用
0
0
0
撒科打诨
具体解决办法如下:第一个方案:1.复制代码,如下,while True:ten=input("x:")try:x=eval(ten)if type(x)==int:breakexcept:pass2.然后输入asf,没有提示。输入344就退出了x:asfx:344第二个方案1.复制代码while True:ten=Nonetry:ten=int(input("x:"))except:passif type(ten)==int:break这个在python3.0上调试通过第三个方案:python2.x的方案while True:ten=raw_input("Enter a number:")if ten.isdigit():breakten=int(ten) #或者是ten=eval(ten)
0
0
0
www说
首先你使用的input的函数,但是input函数必须接受的类型为数字你输入非数字的字母会报错。其次如果你输入了数字你这个程序也不会正常工作,ten的类型可能是float也可能是int 但是eval接受的参数类型必须是字符串,所以这句if也会出错。改为 if type(ten) is type(1):break
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Python
PHP
php如何把参数放在Http Request Heade????
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续