|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求助贴:
输入数值,取整(int, round)后判断级别,如下, 但运行输入66.6(带小数都)报错
score1=input('please type your score:')
score=int(score1)
level=('d' if 0<=score<60 else
'c' if 60<=score<80 else
'b' if 80<=score<90 else
'a' if 90<=score<100 else
's' if score==100 else
'please type 0-100')
print(score,' is level',level)
报错:
please type your score:66.6
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/1game.py", line 2, in <module>
score=int(score1)
ValueError: invalid literal for int() with base 10: '66.6'
取整的INT ,换成ROUND 也是报错 TypeError: type str doesn't define __round__ method。
请教大佬是怎么回事,该如何对输入的数值取整?谢谢大佬!
新手学习:
input接收的对象,同意按字符串处理,自然需要转换为数值类型。
int(),接收整数字符串,float()接收浮点字符串,唯独eval()函数则是来者不拒.
不转换为数值类型,round 函数无力可施。
我觉得最方便的还是直接使用eval()函数
score1=input('please type your score:')
score=eval(score1)
level=('d' if 0<=score<60 else
'c' if 60<=score<80 else
'b' if 80<=score<90 else
'a' if 90<=score<100 else
's' if score==100 else
'please type 0-100')
print(score,' is level',level)
|
|