廖国东 发表于 2020-4-6 12:35:48

哪儿出问题了?

这是我的程序

print("```````````````我爱与鱼C工作室···········")
temp = input("请猜一下小甲鱼心里想的是哪个数字")
guess = int("temp")
while guess != 8:
    temp = input("哎呀猜错了,请重新输入吧")
    guess = int(temp)
    if guess == 8:
      print("wocao,你是小甲鱼心里的坏虫吗。")
      print("猜对了也没有奖励。")
    else:
      if guess > 8:
            print('哥,大了大了')
      else:
            print('哥,小了小了')
print("游戏结束,不玩了")



下面是运行后的结果

>>>
```````````````我爱与鱼C工作室···········
请猜一下小甲鱼心里想的是哪个数字5
Traceback (most recent call last):
File "D:\游戏更改.py", line 3, in <module>
    guess = int("temp")
ValueError: invalid literal for int() with base 10: 'temp'
>>>

廖国东 发表于 2020-4-6 12:36:47

每次,不管输入什么都是这样。怎么办,我是新手啊

kirte 发表于 2020-4-6 12:38:10

int(temp)

廖国东 发表于 2020-4-6 12:39:12

kirte 发表于 2020-4-6 12:38
你输入的不是数字?

是数字呀,我这个程序是按照小甲鱼的教学上弄的呀

kirte 发表于 2020-4-6 12:40:01

第三行int(temp)

廖国东 发表于 2020-4-6 12:40:19

kirte 发表于 2020-4-6 12:38
int(temp)

可以详细一点吗,我是新手,谢谢

kirte 发表于 2020-4-6 12:40:49

第三行改成guess=int(temp)

wuqramy 发表于 2020-4-6 12:41:03

guess = int("temp")
temp不需要用双引号扩起来,否则Python会把它看成一个字符串,而字符串不可以化整。
这是正确代码:
print("```````````````我爱与鱼C工作室···········")
temp = input("请猜一下小甲鱼心里想的是哪个数字")
guess = int(temp)
while guess != 8:
    temp = input("哎呀猜错了,请重新输入吧")
    guess = int(temp)
    if guess == 8:
      print("wocao,你是小甲鱼心里的坏虫吗。")
      print("猜对了也没有奖励。")
    else:
      if guess > 8:
            print('哥,大了大了')
      else:
            print('哥,小了小了')
print("游戏结束,不玩了")

廖国东 发表于 2020-4-6 12:42:51

kirte 发表于 2020-4-6 12:38
int(temp)

感谢,已解决

齐鲁骏马 发表于 2020-4-6 12:45:02

guess = int(temp)
temp本身就是字符串,转换成整数时不应该加双引号
页: [1]
查看完整版本: 哪儿出问题了?