哇达瓜叉 发表于 2022-10-19 21:35:06

各位老师有个问题,在学习python基础课3做个小游戏

当时给出的代码是,这里理解为temp是一个变量过渡一下
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
    print("你是小甲鱼肚子里的蛔虫嘛?!")
    print("哼,猜中了也没有奖励!")
else:
   print("错啦~")
print("游戏结束,不玩啦!")
      
但是如果我直接用
guess = int(input("不妨猜一下小甲鱼现在心里想的是哪个数字:"))
if guess == 8:
这样也是可以运行的啊,不用再用temp过度,这种用法可以吗?如果用会有什么问题码?

wp231957 发表于 2022-10-19 21:42:21

一样,只不过你要是不输入整型数值,会抛出异常

tommyyu 发表于 2022-10-19 21:42:56

确实可以,小甲鱼分开写是为了新手理解

哇达瓜叉 发表于 2022-10-19 22:01:52

wp231957 发表于 2022-10-19 21:42
一样,只不过你要是不输入整型数值,会抛出异常

我刚才试了下,int不是会把带小数的变成最近的不大于他的整数吗?然后我试了在原代码和不用变量的代码都输了个带小数点的,发现都没办法运行。这是为什么老师

哇达瓜叉 发表于 2022-10-19 22:02:22

tommyyu 发表于 2022-10-19 21:42
确实可以,小甲鱼分开写是为了新手理解

好的,谢谢老师

wp231957 发表于 2022-10-19 22:28:40

哇达瓜叉 发表于 2022-10-19 22:01
我刚才试了下,int不是会把带小数的变成最近的不大于他的整数吗?然后我试了在原代码和不用变量的代码都 ...

int只能把长的像整数的字符串转成数值
无法转看起来像小数的字符串
但是可以转小数

临时号 发表于 2022-10-19 22:33:40

哇达瓜叉 发表于 2022-10-19 22:01
我刚才试了下,int不是会把带小数的变成最近的不大于他的整数吗?然后我试了在原代码和不用变量的代码都 ...

int(25.6)可以将25.6转化为25,但int("25.6")不会将其转化为25

哇达瓜叉 发表于 2022-10-19 23:44:40

临时号 发表于 2022-10-19 22:33
int(25.6)可以将25.6转化为25,但int("25.6")不会将其转化为25

是的,我试了下,这是为什么,“25.6”是字符串就不可以

哇达瓜叉 发表于 2022-10-19 23:48:52

wp231957 发表于 2022-10-19 22:28
int只能把长的像整数的字符串转成数值
无法转看起来像小数的字符串
但是可以转小数

是不是int('5')可以-像整数的字符串,int('4.5')不可以像小数的字符串,int(4.5)可以,因为不加引号是数值

哇达瓜叉 发表于 2022-10-19 23:49:25

临时号 发表于 2022-10-19 22:33
int(25.6)可以将25.6转化为25,但int("25.6")不会将其转化为25

结合上面那位的评论,我应该明白了,谢谢你

哇达瓜叉 发表于 2022-10-19 23:53:38

哇达瓜叉 发表于 2022-10-19 23:48
是不是int('5')可以-像整数的字符串,int('4.5')不可以像小数的字符串,int(4.5)可以,因为不加引号是数 ...

就是我刚试了下,这个代码如果输入4.5这种就不能运行是为什么?就是两种书写方式都会报错

wp231957 发表于 2022-10-20 06:45:22

哇达瓜叉 发表于 2022-10-19 23:53
就是我刚试了下,这个代码如果输入4.5这种就不能运行是为什么?就是两种书写方式都会报错

你输入的是字符串
记住,input永远都是字符串
页: [1]
查看完整版本: 各位老师有个问题,在学习python基础课3做个小游戏