partyz 发表于 2018-6-9 12:37:32

关于第四讲问题求助

print('---我爱鱼c工作室------')
num = input('猜心里想的数字')
guess = int(num)
while guess != 8:
    num = input('重新开始')
    guess = int(num)
    if guess == 8:
      print('你是?')
      print('猜中也没用')
    else:
      if guess > 8:
            print('大了')
      else:
            print('小了')
print('结束')


如果我在一开始直接输入8,则会输出结束,没有出现你是?和猜中也没用。如果一开始随意故意猜错,第二次才猜对,则会出现你是和猜中也没用,这是为何,求解。

子午狼 发表于 2018-6-9 13:37:15

因为while与最后的print缩进是一样的,也就这两个语句同级,当你输入8的时候,while的表达式返回False,也就是不执行while内的循环语句,直接进入下一级语句。当你输入不是8时,才会执行while内的循环。
while True:
    if guess!=8:
       num = input('重新开始')
       guess = int(num)
       cotinue
    elif guess == 8:
      print('你是?')
      print('猜中也没用')
    else:
      if guess > 8:
            print('大了')
      else:
            print('小了')
这样试试

partyz 发表于 2018-6-9 14:13:25

子午狼 发表于 2018-6-9 13:37
因为while与最后的print缩进是一样的,也就这两个语句同级,当你输入8的时候,while的表达式返回False,也就 ...

谢谢
页: [1]
查看完整版本: 关于第四讲问题求助