int的存在价值是什么
刚学Python,看到第二节,这是我的练习作业print("----我爱鱼C工作室-----")
temp=input("请输入1至100之间的数字:")
guess=int(temp)
if guess>0:
if guess<101:
print("你好漂亮!")
else:
print("你好丑啊!")
else:
print("你好丑啊!")
其中int这个函数是什么意思呢?存在价值是什么呢?
以为是把数值整数化,运行输入0.1,结果报错了。说明整数话这个概念不对。
于是我删掉了guess=int(temp)这句,并把if条件里的guess改成temp后运行,结果输入数值都报错了。
麻烦各位指点一下int的存在意义。 通过键盘输入获取的字符是字符串是“char”类型的,int函数将字符串类型强制转换为整型类型。在下面的“if guess>0:”语句中,是整型比较条件。故需要转换类型
键盘输入获得的数字,实际是对应的ASCII码,是字符串类型,比如你输入“123456”,程序获得的是“31 32 33 34 35 36”的ASCII编码字符串。并不是看到的数字,所以需要转换。 int(v)v 只能是内容为整数的字符串或浮点数。输入 0.1 的时候,temp 是内容为浮点数的字符串,所以会出错。可以先把 temp 转为浮点数,再转为整型数就不会出错了。
print("----我爱鱼C工作室-----")
guess = int(float(input("请输入1至100之间的数字:")))
if guess > 0:
if guess < 101:
print("你好漂亮!")
else:
print("你好丑啊!")
else:
print("你好丑啊!") -天古- 发表于 2020-1-9 13:25
通过键盘输入获取的字符是字符串是“char”类型的,int函数将字符串类型强制转换为整型类型。在下面的“if...
感谢您的指点,虽然有点看不懂,但大概意思明白了,应该是在数据存储上编码方式的不同。
我的结论,在数据比较就得用相应的数据类型,输入的数字就是整形数据,对吧?
看您说整形数据,字符型数据、字符串数据这几个词,我百度了一下,感觉理解还不够透彻,毕竟刚学,还没用到过字符型数据和字符串数据的相关应用,应该会在后期学习和应用中有更深的理解。 jackz007 发表于 2020-1-9 13:32
int(v)v 只能是内容为整数的字符串或浮点数。输入 0.1 的时候,temp 是内容为浮点数的字符串,所 ...
这个浮点数百度了一下,没明白,哈哈,解释的我脑袋都大了。
fioat这应该是个函数吧,还没学到
但您这个guess = int(float(input("请输入1。。。编写的方法,帮我打开了思路,只要后面编写用不到,就不用单独在定义一个词了,直接括号套在里面就好。
谢谢啦 晋哥哥 发表于 2020-1-9 13:59
感谢您的指点,虽然有点看不懂,但大概意思明白了,应该是在数据存储上编码方式的不同。
我的结论,在数 ...
没关系,慢慢学习。往后面多听几节课就能明白了。 本帖最后由 Noahsark 于 2020-1-9 14:30 编辑
一般来说,int()函数只接受以下两种情况的输入:
A.纯数字,可以带小数点,int遇到它们就向下取整。
举例:
int(3.1415926)==3
int(1.9999)==1
int(-7.88)==-7
B.字符串,但这个字符串必须是纯整数,int遇到它们就实现类型转换,把字符串转变成数字类型。
举例:
int("11")==11
int("-39")==-39
于是我们可以得出,int不接受带有小数点的字符串。
另有,
python把input函数的输出结果都默认为是字符串类型。
所以当你在input环节里输入了0.1或者9.2等,都相当于带有小数点的字符串,和int的使用规则不符,故报错。
解决方法:
用float函数做过渡,添加在input和int函数之间即可。
Noahsark 发表于 2020-1-9 14:28
一般来说,int()函数只接受以下两种情况的输入:
A.纯数字,可以带小数点,int遇到它们就向下取整。
举 ...
老铁你这解释真不是盖的,对于我这种幼鱼简直太通俗易懂了。666
页:
[1]