看海的猴 发表于 2020-8-19 16:47:35

如何用循环解题?

猜年龄游戏
要求:
    允许用户最多尝试3次
    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    如何猜对了,就直接退出

下边是我的解题,写到这里就不懂写了...还是从一开始就写错了?
count = 0
age = 37
while True:
    age_1 = input('猜数字游戏,进入游戏=>Y,退出游戏=>N')
    if age_1.upper() == 'Y':
      while count <= 3:
            age_1 = int(input('请输入数字:'))
            if age_1 > age:
                print('大了,请从新输入')
            elif age_1 < age:
                print('小了,请从新输入')
            else:
                print('恭喜你答对了')
            count += 1
    print('猜错3次,请问还要继续吗?')

Twilight6 发表于 2020-8-19 16:53:56


看看这样,改动了下循环条件,以及你内部循环重新开始游戏时候要将次数初始化 count = 0

改动后循环这里实际上输入的只要不是 Y 或者 y 都会直接退出游戏哈

count = 0
age = 37
age_1 = input('猜数字游戏,进入游戏=>Y,退出游戏=>N:')
while age_1.upper() == 'Y':
    while count < 3:
      age_1 = int(input('请输入数字:'))
      if age_1 > age:
            print('大了,请从新输入')
      elif age_1 < age:
            print('小了,请从新输入')
      else:
            print('恭喜你答对了')
      count += 1
    count = 0
    print('猜错3次,请问还要继续吗?')
    age_1 = input('猜数字游戏,重新游戏=>Y,退出游戏=>N:')

看海的猴 发表于 2020-8-19 17:05:29

Twilight6 发表于 2020-8-19 16:53
看看这样,改动了下循环条件,以及你内部循环重新开始游戏时候要将次数初始化 count = 0

改动后循环这 ...

大神,您真利害.请问还有没有更简单流程写法?

看海的猴 发表于 2020-8-19 17:19:31

Twilight6 发表于 2020-8-19 17:14
差不多就这样了:

上边条件是猜对自动退出,现在猜对也没有自动退出啊,

Twilight6 发表于 2020-8-19 17:54:26

看海的猴 发表于 2020-8-19 17:19
上边条件是猜对自动退出,现在猜对也没有自动退出啊,


呃,嘿哈,我错了:

age = 37
age_1 = input('猜数字游戏,进入游戏=>Y,退出游戏=>N:')
while age_1.upper() == 'Y':
    for i in range(3):
      age_1 = int(input('请输入数字:'))
      if age_1 > age:
            print('大了,请从新输入')
      elif age_1 < age:
            print('小了,请从新输入')
      else:
            print('恭喜你答对了')
            break
    else:
      print('猜错3次,请问还要继续吗?')
    age_1 = input('猜数字游戏,重新游戏=>Y,退出游戏=>N:')
页: [1]
查看完整版本: 如何用循环解题?