鱼C论坛

 找回密码
 立即注册
查看: 1036|回复: 13

[已解决]大佬们 求助一个最基本最简单的问题

[复制链接]
发表于 2020-8-3 10:39:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
int()函数的作用究竟是什么。
都说它是将一个字符串转成整形。
我总是不明白,我试了很多次。好像有的时候就算没有这个函数也能正常打印出来啊
最佳答案
2020-8-3 11:20:42
哥白尼 发表于 2020-8-3 11:19
a=int(input("猜一下我心里想的数字"))
我这样做是不是也可以啊 把两行变成一行还少用一个变量。这样会 ...



对,不会有影响哈

除非你下面需要用到字符串状态下的 a 参数,否则都可以直接这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-3 10:39:52 | 显示全部楼层
好像有的时候就算没有这个函数也能正常打印出来啊


举个例子?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 10:39:59 | 显示全部楼层



int 函数将其他类型的数据转化为整型,也就是整数

因为字符串 '123' 是不等于 123 的,但是打印时候都是打印 123 是因为 print 函数打印时候是自动去掉了字符串的引号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-3 10:50:50 | 显示全部楼层
print("------------------我爱鱼c工作室------------------")
a = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
if a == 8:
    print("我草,你是小甲鱼心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")
else:
    print("猜错拉,小甲鱼现在心里想的是8!")
print("游戏结束,不玩啦^_^")
我刚刚又尝试了一下 好像没有int()函数的话 就一直都得不到正确答案  看来还是有影响的。
还是不明白,比如我本来输入的是8,就是一个整数,为什么还需要用int()去转换呢。为什么不用int()的话就算输入是8.他也会一直说答错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 10:51:12 | 显示全部楼层
不int,打印出来的是字符串,虽然没引号,也是字符串。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 10:56:46 | 显示全部楼层
哥白尼 发表于 2020-8-3 10:50
print("------------------我爱鱼c工作室------------------")
a = input("不妨猜一下小甲鱼现在心里想的 ...


看 3 L 呀,因为 字符串 '123' 和 123  是不相等的所以导致你的 if 条件永远不成立

你应该将 a == 8 改成 a =='8'

或者像你之前一样将 a = int(a) 转为整型后进行判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-3 10:57:19 | 显示全部楼层
Twilight6 发表于 2020-8-3 10:39
int 函数将其他类型的数据转化为整型,也就是整数

因为字符串 '123' 是不等于 123 的,但是打印时 ...

那他这个转换是只会转换仅有数字的字符串吗,如果字符串里面有文字或者有操作符怎么办呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 10:58:32 | 显示全部楼层
int()是将一个数字或一个字符串转为int整型数字。对于数字没有要求,都可以进行转换。但是对于str字符串是有要求的,若字符串中有除了0~9以外的字符,则会报错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 10:58:45 | 显示全部楼层
哥白尼 发表于 2020-8-3 10:57
那他这个转换是只会转换仅有数字的字符串吗,如果字符串里面有文字或者有操作符怎么办呢




你学习到第五课时有字符串方法 str.isdigit() 是纯数字字符串返回 True 不是返回 False

到时候可以判断字符串中的字符是不是纯数字啥的哈~ 然后根据这个函数我们可以设置个循环,提示输入错误请重新输入就好了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 11:09:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-3 11:19:27 | 显示全部楼层
Twilight6 发表于 2020-8-3 10:56
看 3 L 呀,因为 字符串 '123' 和 123  是不相等的所以导致你的 if 条件永远不成立

你应该将 a == 8 ...

a=int(input("猜一下我心里想的数字"))
我这样做是不是也可以啊 把两行变成一行还少用一个变量。这样会不会有什么影响。我看打印出来好像是可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 11:20:42 | 显示全部楼层    本楼为最佳答案   
哥白尼 发表于 2020-8-3 11:19
a=int(input("猜一下我心里想的数字"))
我这样做是不是也可以啊 把两行变成一行还少用一个变量。这样会 ...



对,不会有影响哈

除非你下面需要用到字符串状态下的 a 参数,否则都可以直接这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-3 11:23:27 | 显示全部楼层
Twilight6 发表于 2020-8-3 11:20
对,不会有影响哈

除非你下面需要用到字符串状态下的 a 参数,否则都可以直接这样

谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 11:49:11 | 显示全部楼层
可以定义列表吧,对比列表是否相等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 08:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表