python入门05课,为什么把guess赋值放在上面就显示赋值错误呀
如图,为什么guess=int(temp)放到下面,不能跟temp=int("请输入甜甜心里想的数字")一起呀你输入5.5,又不是整数,你还把它转换为int类型 你这是相当于用int()转化字符串5.5,下面这样的代码就会报错
print(int('5.5'))
和你放在哪无关的吧 print('5.5'.isdigit())
再看这个,结果是Flase
你放在这个判断里,说明已经帮你过滤掉了这种字符串5.5的情况 1.int表示整型,5.5是浮点数,应该使用float。或者你应该输入整数。
2.可以写在一起,
temp=int(input("请输入甜甜心里想的数字")) 疾风怪盗 发表于 2020-9-16 21:01
你这是相当于用int()转化字符串5.5,下面这样的代码就会报错
和你放在哪无关的吧
有关的,放在if temp.isdigit():下面,就不会报错。 Ida_c 发表于 2020-9-16 21:08
1.int表示整型,5.5是浮点数,应该使用float。或者你应该输入整数。
2.可以写在一起,
temp=int(input(" ...
你这样理解不对的,input接收的是字符串,int()强制转换字符串的5.5,是会报错的,你这样写,容易报错
所以代码里有个isdigit()来判断是不是全数字(不要小数点) 疾风怪盗 发表于 2020-9-16 21:03
再看这个,结果是Flase
你放在这个判断里,说明已经帮你过滤掉了这种字符串5.5的情况
我好像有一点明白了,就是说放在下面的话,这个guess就会在if temp.isdigit():指令下执行,如果在上面的话,因为还没有进行if temp.isdigit():的循环,所以会报错。 15210853819 发表于 2020-9-16 21:11
我好像有一点明白了,就是说放在下面的话,这个guess就会在if temp.isdigit():指令下执行,如果在上面的 ...
对,相当于帮你过滤掉了报错的可能,也过滤掉了输入非数字的情况
单独这句拉出来你打印看下就知道了,会报错的 疾风怪盗 发表于 2020-9-16 21:12
对,相当于帮你过滤掉了报错的可能,也过滤掉了输入非数字的情况
单独这句拉出来你打印看下就知道了, ...
好哒~谢谢! 🆗。谢谢啦
页:
[1]