广东范戴克 发表于 2019-8-13 20:46:35

P5改进我们的小游戏 报错 新手求助

temp=input('猜猜我心里想的数:')
number=int(temp)
if number==8:
    print('bingo')
else:
    if number>8:
      print('大了')
    else:
      print('小了')
      while number!=8:
            temp=input('重新猜吧:')
            number=int(temp)
            if number==8:
                print('bingo')
            else:
                if number>8:
                  print('大了')
               else:(这里报错了)
                     print('小了')

ztt一方 发表于 2019-8-13 21:33:12

else 和 if 对齐 试试

ztt一方 发表于 2019-8-13 21:35:31

temp=input('猜猜我心里想的数:')
number=int(temp)
if number==8:
    print('bingo')
else:
    if number>8:
      print('大了')
    else:
      print('小了')
      while number!=8:
            temp=input('重新猜吧:')
            number=int(temp)
            if number==8:
                print('bingo')
            else:
                if number>8:
                  print('大了')
                else:
                     print('小了')

hailie 发表于 2019-8-13 21:51:49

运行后发现是最后两行多了一个缩进符,应该是输入的时候多打了
另外这个代码我估计是要做无限次猜测,直到bingo
按照这个代码运行的话会发现当猜的数大于8的时候猜一次就停止运行了,这是由缩进导致的
在这个基础上改的话应该要在第一次报‘大了’的后面加上while的部分
也可以参考一下类似代码:
x=120
n=eval(input('请输入一个数:'))
while n!=x:
    if n>x:
      print('大了!')
      n=eval(input('请再输入一个数字:'))
    elif n<x:
      print('小啦!')
      n=eval(input('请再输入一个数字:'))
else:
    print('恭喜您,猜对啦!')

zltzlt 发表于 2019-8-14 08:15:10

楼主多敲了一个空格,改过来就行了。正确代码:
temp=input('猜猜我心里想的数:')
number=int(temp)
if number==8:
    print('bingo')
else:
    if number>8:
      print('大了')
    else:
      print('小了')
      while number!=8:
            temp=input('重新猜吧:')
            number=int(temp)
            if number==8:
                print('bingo')
            else:
                if number>8:
                  print('大了')
                else:
                  print('小了')
页: [1]
查看完整版本: P5改进我们的小游戏 报错 新手求助