芭bur拉 发表于 2020-2-26 13:55:43

关于phython赋值的问题,大佬进来看看

guess=input("猜猜我想的是什么数字:")
temp=int(guess)
while temp!=9:
    if temp>9:
      print("bigger")
    else:
      if temp<9:
            print("smaller")
    guess=input(":")
    temp=int(guess)
print('game over')
exit()
以上是我写的代码,划红线的地方是我不理解的地方。当我把他去掉运行时输入数字,会一直出现第一次输入时的答案。
实践出真知,但我想了半天不知道这个赋值到底有什么用。大佬们求解

wp231957 发表于 2020-2-26 14:07:37

它啥用都没有,唯一作用就是把字符串转化成整型数值

Siren0327 发表于 2020-2-26 14:09:04

你输入的值赋给了guess,但是你没有把guess赋值给temp,所以temp一直都是第一次的数啊,你是用temp和9比的,不是guess

jackz007 发表于 2020-2-26 14:17:18

本帖最后由 jackz007 于 2020-2-26 14:23 编辑

      从键盘直接得到的是 '8',我们需要的是 8,为了从 '8' 中得到 8 就需要用 int(),因为,int('8') = 8

      如果不用 int(),那么,即便是键盘输入的是 9,也会因为 '9' 无法等于 9 而永远无法相等,while temp != 9 也会因此而成为死循环。

menglujia 发表于 2020-2-26 16:03:29

guess=input("猜猜我想的是什么数字:")#第一次赋值
temp=int(guess)   #使赋值等于temp
while temp!=9:   #temp与9比较
    if temp>9:
      print("bigger")
    else:
      if temp<9:
            print("smaller")
    guess=input(":")   #第二次赋值使得
    temp=int(guess)   #必须再一次使新的赋值等于temp,不然循环的话还是用的第一次输入的来运行
print('game over')
exit()

老八秘制 发表于 2020-3-26 17:32:02

从键盘输入的字符都是字符串格式的,这个作用是把它变成整型,同时也作为一个缓冲的区域

低调的小白er 发表于 2020-3-27 16:15:00

input 输出的是字符串需要用 int 转化为整型
页: [1]
查看完整版本: 关于phython赋值的问题,大佬进来看看