鱼C论坛

 找回密码
 立即注册
查看: 2598|回复: 16

[已解决]循环语句:每次循环报错都是同一句话,好无聊哦!

[复制链接]
发表于 2020-5-16 11:26:07 | 显示全部楼层 |阅读模式

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

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

x
今天学习了p10循环语句,

自己现学现卖了一小段,shell显示如下:
丹丹最喜欢听的情话是:我喜欢你
抱歉哦,猜错啦~ 再试试看:我爱你
抱歉哦,猜错啦~ 再试试看:你真可爱
抱歉哦,猜错啦~ 再试试看:你最美丽
抱歉哦,猜错啦~ 再试试看:你好漂亮
哎哟,这么快就猜对啦
您可真懂我呢~~o


可是如果我想达到下面的效果:
丹丹最喜欢听的情话是:我喜欢你
抱歉哦,猜错啦~ 再试试看:我爱你
不对不对~ 再来一次:你真可爱
这句也喜欢,但不是最喜欢喔,再来一次啦~:你最美丽
再猜不对就红牌警告!:你好漂亮
哎哟,这么快就猜对啦
您可真懂我呢~~o


请教一下~ 这样的话还能使用循环语句吗?还是必须得用其他语法函数惹 (☆▽☆)
最佳答案
2020-5-16 11:58:15
本帖最后由 Twilight6 于 2020-5-16 12:03 编辑

有序:
  1. error = ['抱歉哦,猜错啦~ 再试试看~','不对不对~ 再来一次~:','再猜不对就红牌警告~:']
  2. ask = input('丹丹最喜欢听的情话是:')
  3. for i in range(len(error)):
  4.     if ask == '你好漂亮':
  5.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  6.         break
  7.     else:
  8.         ask = input(error[i])
  9. else:
  10.     print('很可惜哦~ 你还不够了解丹丹呢!')
复制代码


随机情况:
  1. from random import choice   # 导入随机选择模块
  2. error = ['抱歉哦,猜错啦~ 再试试看~','不对不对~ 再来一次~:','再猜不对就红牌警告~:','还是错啦~再猜猜看~:']
  3. ask = input('丹丹最喜欢听的情话是:')
  4. while True:
  5.     if ask == '你好漂亮':
  6.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  7.         break
  8.     else:
  9.         ask = input(choice(error))  # 随机选择error列表里的提示语~~
复制代码


这样就好啦~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-16 11:27:09 | 显示全部楼层
可以呀,只是要添加些语法~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 11:30:58 | 显示全部楼层
可以,再加上 随机数 random
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 11:56:15 | 显示全部楼层
可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-16 11:56:55 | 显示全部楼层
把代码发出来,我帮你改
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-16 11:58:15 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-5-16 12:03 编辑

有序:
  1. error = ['抱歉哦,猜错啦~ 再试试看~','不对不对~ 再来一次~:','再猜不对就红牌警告~:']
  2. ask = input('丹丹最喜欢听的情话是:')
  3. for i in range(len(error)):
  4.     if ask == '你好漂亮':
  5.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  6.         break
  7.     else:
  8.         ask = input(error[i])
  9. else:
  10.     print('很可惜哦~ 你还不够了解丹丹呢!')
复制代码


随机情况:
  1. from random import choice   # 导入随机选择模块
  2. error = ['抱歉哦,猜错啦~ 再试试看~','不对不对~ 再来一次~:','再猜不对就红牌警告~:','还是错啦~再猜猜看~:']
  3. ask = input('丹丹最喜欢听的情话是:')
  4. while True:
  5.     if ask == '你好漂亮':
  6.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  7.         break
  8.     else:
  9.         ask = input(choice(error))  # 随机选择error列表里的提示语~~
复制代码


这样就好啦~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 11:59:17 | 显示全部楼层

不对,他想要的不是这个,是有序的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 12:02:22 | 显示全部楼层
焦健鬼 发表于 2020-5-16 11:59
不对,他想要的不是这个,是有序的

好了~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 12:09:48 | 显示全部楼层
再帮你改改
  1. from random import choice   # 导入随机选择模块
  2. error = ['抱歉哦,猜错啦~ 再试试看~','不对不对~ 再来一次~:','再猜不对就红牌警告~:','还是错啦~再猜猜看~:']
  3. ask = input('丹丹最喜欢听的情话是:')
  4. while True:
  5.     if ask == '你好漂亮':
  6.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  7.         break
  8.     elif ask == '':
  9.         print('您输入的不是字符,请输入字符~~~')
  10.         break
  11.     else:
  12.         ask = input(choice(error))  # 随机选择error列表里的提示语~~
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-16 12:49:02 | 显示全部楼层
比较短
  1. from itertools import cycle
  2. for prompt in cycle('丹丹最喜欢听的情话是:','抱歉哦,猜错啦~ 再试试看:','不对不对~ 再来一次:','这句也喜欢,但不是最喜欢喔,再来一次啦~:','再猜不对就红牌警告!:'):
  3.     if input(prompt)=='你好漂亮':
  4.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  5.         break
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 12:50:24 | 显示全部楼层
焦健鬼 发表于 2020-5-16 11:59
不对,他想要的不是这个,是有序的

他根本就没说明白要求
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 12:53:34 | 显示全部楼层

说了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 12:54:04 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 12:55:25 | 显示全部楼层
丹丹最喜欢听的情话是:我喜欢你
抱歉哦,猜错啦~ 再试试看:我爱你
不对不对~ 再来一次:你真可爱
这句也喜欢,但不是最喜欢喔,再来一次啦~:你最美丽
再猜不对就红牌警告!:你好漂亮
哎哟,这么快就猜对啦
您可真懂我呢~~o

在这
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-16 19:50:01 | 显示全部楼层

我试了一下你的这一串,回答错误的时候报错是木有问题了,但是回答对的时候反而报错了:

TypeError: cycle expected 1 argument, got 5

(这意思是说“剪不断理还乱 本python不陪玩了”吗?)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-16 19:51:33 | 显示全部楼层
为什么我能成功
测试.py - 无标题 (工作区) - Visual Studio Code 2020_5_16 19_50_43.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-16 19:52:05 | 显示全部楼层
丹丹崽 发表于 2020-5-16 19:50
我试了一下你的这一串,回答错误的时候报错是木有问题了,但是回答对的时候反而报错了:

TypeError: c ...

打错了,改成
  1. from itertools import cycle
  2. for prompt in cycle(('丹丹最喜欢听的情话是:','抱歉哦,猜错啦~ 再试试看:','不对不对~ 再来一次:','这句也喜欢,但不是最喜欢喔,再来一次啦~:','再猜不对就红牌警告!:')):
  3.     if input(prompt)=='你好漂亮':
  4.         print('哎哟,这么快就猜对啦\n您可真懂我呢~~o')
  5.         break
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 04:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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