|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import random
words = ["abandon", "band", "husband", "bound",]
chinese = [["放弃", "放纵"], ["乐队", "布条", "波段"], ["丈夫"], ["被束缚的"]]
w_c = zip(words, chinese)
list_w_c = list(w_c)
new_list_w_c = []
while True:
if len(new_list_w_c) == len(list_w_c):
new_list_w_c.clear()
break
word_choice = random.choice(list_w_c) 这些代码主要目的是随机打印出一个单词,且不重复,
if word_choice in new_list_w_c:
continue
new_list_w_c.append(word_choice)
print(word_choice[0])
主要问题在这里
while True:
put_chinese = input()
put_chinese_es = put_chinese.split(',')
for each_put_chinese in put_chinese_es:
if each_put_chinese in word_choice[1]:
print("哎呦,不错哦,继续加油吧!!!")
break 在这里写break,不知道为什么跳不出这个循环,会出现你写对了汉语也打印了“”这句话,但是他不会给你一个新单词,光标就停
else: 在那里了,然后你按enter时 他会打印出 else中的话也不是给你一个新单词
print("你写的意思不正确哦,想一想或者查看资料后在填写吧!!!")
print(word_choice[0])
continue
break 只有在这里写他才会当你输入正确后会立即返回给你一个值,相当于结束了这个小循环,又来了一次大循环,但是,此时你若
是写错了汉语,他也是结束小循环,再来一次大循环,但我的目的是让他在重复一次小循环
我目前就只知道这么写,有哪位大神可以帮忙解决这个问题,,,,或者有自己的方法来实现次目的,
跪求 跪求 跪求
本帖最后由 zlj19931010 于 2021-10-29 08:31 编辑
加个标识量判断当前输入的翻译是否正确 就行了
is_find = False
- import random
- words = ["abandon", "band", "husband", "bound", ]
- chinese = [["放弃", "放纵"], ["乐队", "布条", "波段"], ["丈夫"], ["被束缚的"]]
- w_c = zip(words, chinese)
- list_w_c = list(w_c)
- new_list_w_c = []
- while True:
- if len(new_list_w_c) == len(list_w_c):
- print("你已经复习完毕了!")
- break
- word_choice = random.choice(list_w_c)
- if word_choice in new_list_w_c:
- continue
- new_list_w_c.append(word_choice)
- print(word_choice[0])
- while True:
- put_chinese = input()
- put_chinese_es = put_chinese.split(',')
- # 开始循环查找是否翻译正确
- is_find = False
- for each_put_chinese in put_chinese_es:
- if each_put_chinese in word_choice[1]:
- print("哎呦,不错哦,继续加油吧!!!")
- is_find = True
- break
- # 判断是否找到
- if is_find:
- break
- else:
- print("你写的意思不正确哦,想一想或者查看资料后在填写吧!!!")
- print(word_choice[0])
复制代码
|
|