鱼C论坛

 找回密码
 立即注册
查看: 1584|回复: 4

[已解决]如何用循环解题?

[复制链接]
发表于 2020-8-19 16:47:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
猜年龄游戏
要求:
    允许用户最多尝试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次,请问还要继续吗?')
最佳答案
2020-8-19 17:54:26
看海的猴 发表于 2020-8-19 17:19
上边条件是猜对自动退出,现在猜对也没有自动退出啊,



呃,嘿哈,我错了:

  1. age = 37
  2. age_1 = input('猜数字游戏,进入游戏=>Y,退出游戏=>N:')
  3. while age_1.upper() == 'Y':
  4.     for i in range(3):
  5.         age_1 = int(input('请输入数字:'))
  6.         if age_1 > age:
  7.             print('大了,请从新输入')
  8.         elif age_1 < age:
  9.             print('小了,请从新输入')
  10.         else:
  11.             print('恭喜你答对了')
  12.             break
  13.     else:
  14.         print('猜错3次,请问还要继续吗?')
  15.     age_1 = input('猜数字游戏,重新游戏=>Y,退出游戏=>N:')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-19 16:53:56 | 显示全部楼层

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

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

  1. count = 0
  2. age = 37
  3. age_1 = input('猜数字游戏,进入游戏=>Y,退出游戏=>N:')
  4. while age_1.upper() == 'Y':
  5.     while count < 3:
  6.         age_1 = int(input('请输入数字:'))
  7.         if age_1 > age:
  8.             print('大了,请从新输入')
  9.         elif age_1 < age:
  10.             print('小了,请从新输入')
  11.         else:
  12.             print('恭喜你答对了')
  13.         count += 1
  14.     count = 0
  15.     print('猜错3次,请问还要继续吗?')
  16.     age_1 = input('猜数字游戏,重新游戏=>Y,退出游戏=>N:')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

改动后循环这 ...

大神,您真利害.请问还有没有更简单流程写法?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-19 17:19:31 | 显示全部楼层
Twilight6 发表于 2020-8-19 17:14
差不多就这样了:

上边条件是猜对自动退出,现在猜对也没有自动退出啊,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-19 17:54:26 | 显示全部楼层    本楼为最佳答案   
看海的猴 发表于 2020-8-19 17:19
上边条件是猜对自动退出,现在猜对也没有自动退出啊,



呃,嘿哈,我错了:

  1. age = 37
  2. age_1 = input('猜数字游戏,进入游戏=>Y,退出游戏=>N:')
  3. while age_1.upper() == 'Y':
  4.     for i in range(3):
  5.         age_1 = int(input('请输入数字:'))
  6.         if age_1 > age:
  7.             print('大了,请从新输入')
  8.         elif age_1 < age:
  9.             print('小了,请从新输入')
  10.         else:
  11.             print('恭喜你答对了')
  12.             break
  13.     else:
  14.         print('猜错3次,请问还要继续吗?')
  15.     age_1 = input('猜数字游戏,重新游戏=>Y,退出游戏=>N:')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-25 23:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表