轩笙很优秀 发表于 2023-5-2 20:12:34

初学者

刚在b站学py,问大家个问题

"""用python设置第一个游戏"""

temp = input("不妨猜一下我现在想的是那个数字:")
guess = int(temp)



if guess == 8:
    print("你是我肚子里的蛔虫吗")
    print("猜中了也没有奖励")
else:
    print("拆错啦,我心里想的是8")
    print("游戏结束")


为什么第二行还要guess = int(temp)这样啊,if那里直接if temp = 8不就行了吗,guess = int(temp)的作用是什么

陶远航 发表于 2023-5-2 20:13:16

在这个代码中,输入的内容是通过input()函数获取的,这个函数返回的是一个字符串类型的值。如果你直接在if语句中写成if temp == 8,那么你比较的是一个字符串和一个整数8,这样是不符合逻辑的,也不会得到正确的结果。因此,需要通过int()函数将输入的字符串类型的值转换为整数类型的值,才能进行数字大小的比较。所以,guess = int(temp)的作用是将输入的字符串类型的值转换为整数类型的值,并将其存储在变量guess中,以便后续的数字大小比较。

isdkz 发表于 2023-5-2 20:13:56

猜测数字的游戏代码中,第二行的 guess = int(temp) 是将用户输入的字符串转换为整数的作用,这里需要解释一下。

在Python中,当用户使用 input() 函数输入内容时,输入的内容都会被当作字符串(string)类型处理。所以在这个游戏中, temp 变量接收到的是一个字符串类型的值,如 "8" 。

然而,在接下来的 if 语句中,我们需要将用户输入的字符串与整数 8 进行比较。由于字符串类型和整数类型是不同的,Python不允许直接将它们进行比较。所以我们需要将用户输入的字符串转换为整数类型,这就是 guess = int(temp) 这一行代码的作用。经过这一步转换后, guess 变量的值就变成了整数类型,如 8 ,之后才可以与整数 8 进行比较。

所以不能直接写 if temp == 8 ,因为这样会把字符串和整数进行比较,会导致运行出错。在进行比较前,务必确保两个变量具有相同的类型。

sfqxx 发表于 2023-5-2 21:47:04

isdkz 发表于 2023-5-2 20:13
猜测数字的游戏代码中,第二行的 guess = int(temp) 是将用户输入的字符串转换为整数的作用,这里需要解释 ...

那个主题被删了哎

isdkz 发表于 2023-5-2 21:47:46

sfqxx 发表于 2023-5-2 21:47
那个主题被删了哎

哪个?

sfqxx 发表于 2023-5-2 21:50:01

isdkz 发表于 2023-5-2 21:47
哪个?

就是
~~
或者
~

isdkz 发表于 2023-5-2 21:50:41

本帖最后由 isdkz 于 2023-5-2 21:58 编辑

sfqxx 发表于 2023-5-2 21:47
那个主题被删了哎

估计是陶远航举报吧,他老是认为 gzy00001111 是我的小号,不过后台应该看得到 ip 才对呀,不会真被当成是我的小号了吧,我去 gzy00001111 的主页看了看他被禁止发言了
页: [1]
查看完整版本: 初学者