小黑鱼~ 发表于 2020-4-4 16:34:51

为什么执行三次后还在继续,求大佬解惑

import random
secret = random.randint(1,10)
print('..........加油加油!!.........')
i = 0
while i < 3:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)
while guess != secret:
    temp = input('哎呀,猜错了,请重新输入:')
    guess = int(temp)
    if guess == secret:
       print('卧槽,你是小甲鱼心里的蛔虫嘛')
       print('猜中也没奖励!')
       break
    else:
      if guess > secret:
         print('哥,大了大了')
      else:
         print('嘿,小了小了')
      i +=1
print('游戏结束,不玩了!!!')

qiuyouzhi 发表于 2020-4-4 16:39:22

import random
secret = random.randint(1,10)
print('..........加油加油!!.........')
i = 0
guess = 0
while guess != secret and i < 3:
    temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
    guess = int(temp)
    if guess == secret:
      print('卧槽,你是小甲鱼心里的蛔虫嘛')
      print('猜中也没奖励!')
      break
    else:
      if guess > secret:
         print('哥,大了大了')
         i += 1
      else:
         print('嘿,小了小了')
         i += 1
print('游戏结束,不玩了!!!')

zltzlt 发表于 2020-4-4 16:40:14

import random

secret = random.randint(1, 10)
print('..........加油加油!!.........')
i = 0
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)
while i < 2:
    temp = input('哎呀,猜错了,请重新输入:')
    guess = int(temp)
    if guess == secret:
      print('卧槽,你是小甲鱼心里的蛔虫嘛')
      print('猜中也没奖励!')
      break
    else:
      if guess > secret:
            print('哥,大了大了')
      else:
            print('嘿,小了小了')
      i += 1
if guess == secret and i == 2:
    print('卧槽,你是小甲鱼心里的蛔虫嘛')
    print('猜中也没奖励!')
print('游戏结束,不玩了!!!')

BngThea 发表于 2020-4-4 16:44:44

多了个while循环

heidern0612 发表于 2020-4-4 16:48:04

while套while的话,里面那个while条件满足的话,会一直不退出。

所以你的i+=1没啥用。

小黑鱼~ 发表于 2020-4-4 18:08:13

import random
secret = random.randint(1,10)
print('..........加油加油!!.........')
i = 0
guess = int(input("不妨猜一下小甲鱼现在心里想的是哪个数字:"))
while i < 2:
if guess == secret:
       print('卧槽,你是小甲鱼心里的蛔虫嘛')
       print('猜中也没奖励!')
       break
else:
      temp = input('哎呀,猜错了,请重新输入:')
      guess = int(temp)
      if guess > secret:
         print('哥,大了大了')
      else:
         print('嘿,小了小了')
      i +=1
if guess ==secret and i == 2:
print('卧槽,你是小甲鱼心里的蛔虫嘛')
print('猜中也没奖励!')
print('游戏结束,不玩了!!!')

txxcat 发表于 2020-4-4 18:22:37

最佳答案有问题:
import random

secret = random.randint(1, 10)
print('..........加油加油!!.........')
i = 0
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")    #<---第一次input
guess = int(temp)
while i < 2:
    temp = input('哎呀,猜错了,请重新输入:')             #<---第二次input,很明显第一次input被无情地抛弃了,无论对与错,不会被判断
    guess = int(temp)
    if guess == secret:
      print('卧槽,你是小甲鱼心里的蛔虫嘛')
      print('猜中也没奖励!')
      break
    else:
      if guess > secret:
            print('哥,大了大了')
      else:
            print('嘿,小了小了')
      i += 1
if guess == secret and i == 2:
    print('卧槽,你是小甲鱼心里的蛔虫嘛')
    print('猜中也没奖励!')
print('游戏结束,不玩了!!!')

最佳方法是把input全部放到循环里:
import random
secret = random.randint(1,10)
print('..........加油加油!!.........')
i = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:",end="")
while i<3:
    guess = int(input())
    if guess == secret:
      print('卧槽,你是小甲鱼心里的蛔虫嘛')
      print('猜中也没奖励!')
      break
    else:
      if guess > secret:
         print('哥,大了大了')
      else:
         print('嘿,小了小了')
    if i<2:
      print('哎呀,猜错了,请重新输入:',end="")
    i +=1
print('游戏结束,不玩了!!!')
页: [1]
查看完整版本: 为什么执行三次后还在继续,求大佬解惑