亭ting 发表于 2017-6-19 08:31:41

零基础python入门第一节中猜字游戏的改进

1、代码为:
print("......我爱鱼C工作室......")
print("猜数字,有三次机会")
i = 3
while i :
    guess = input("不妨猜一下小甲鱼心里面想的是那个数字:")
    if guess == 8:
      print("恭喜你,答对了!")
      print("不过,猜对了也没有奖。。。")
      break
    else:
      print("猜错了,再猜一次")
      i = i - 1   
print("游戏结束,不玩了。")
2、问题是
输入错误的,确实可以输3次,但是正确的输一次,还是判为错误。

亭ting 发表于 2017-6-19 08:36:17

我又改进了一下,好像在input语句后,加一个int,即变成“temp = input("不妨猜一下小甲鱼心里面想的是那个数字:")
    guess = int(temp)
    if guess == 8:”
好像这样就可以了,但是不理解原因

shuofxz 发表于 2017-6-19 08:57:23

input这个函数的返回值是string类型的,你拿一个str类型的“8”,和一个数字类型的8,进行比较,肯定是不相等的
input()
If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised

亭ting 发表于 2017-6-19 09:41:12

shuofxz 发表于 2017-6-19 08:57
input这个函数的返回值是string类型的,你拿一个str类型的“8”,和一个数字类型的8,进行比较,肯定是不相 ...

明白了,谢谢了

ThreeSwords 发表于 2020-4-19 16:13:52

有没有办法我输入中文也能回复呢?
页: [1]
查看完整版本: 零基础python入门第一节中猜字游戏的改进