单词学习 创建cancer1和cancer2两个列表,分别为5种癌症中文名称和对应的英文: cancer1=["肺癌","乳腺癌","肝癌","胃癌","骨癌"] cancer2=["' lung cancer "," breast cancer "," liver cancer "," gastric cancer "," bone cancer "] 完成一个单词练习程序,功能为随机给出癌症中文名称,用户输入对应的英文。用户输入正确则显示"答对了",答对的中文单词不再显示;输入错误则显示"答错了",答错的单词后面还会随机出现。程序只有用户将5个单词都答对才会结束,结束后显示用户答题的次数。
时间: 2023-06-29 13:19:23 浏览: 56
好的,以下是 Python 代码:
```python
import random
# 创建两个列表
cancer1 = ["肺癌", "乳腺癌", "肝癌", "胃癌", "骨癌"]
cancer2 = ["' lung cancer '", " breast cancer ", " liver cancer ", " gastric cancer ", " bone cancer "]
# 创建一个集合,存储未被答对的癌症中文名称
cancers_left = set(cancer1)
# 创建一个变量,记录用户答题的次数
count = 0
while cancers_left:
# 随机选择一个癌症中文名称
cancer = random.choice(list(cancers_left))
# 找到该癌症中文名称在列表中的索引
index = cancer1.index(cancer)
# 提示用户输入对应的英文
answer = input(f"{cancer} 对应的英文是:")
# 判断用户的回答是否正确
if answer == cancer2[index]:
print("答对了!")
# 如果回答正确,从未被答对的列表中移除该癌症中文名称
cancers_left.remove(cancer)
else:
print("答错了!")
# 每次答题后累加计数器
count += 1
# 显示用户答题的次数
print(f"恭喜你,你总共答了 {count} 次题!")
```
程序的主要逻辑如下:
1. 创建两个列表 `cancer1` 和 `cancer2`,分别存储中英文名称;
2. 创建一个集合 `cancers_left`,初始时包含所有的中文名称;
3. 进入一个循环,直到集合 `cancers_left` 为空;
4. 在集合 `cancers_left` 中随机选择一个中文名称 `cancer`;
5. 找到该中文名称在列表 `cancer1` 中的索引 `index`;
6. 提示用户输入该中文名称对应的英文名称;
7. 如果用户输入的英文名称与列表 `cancer2` 中对应索引处的元素相同,则提示用户回答正确,并将该中文名称从集合 `cancers_left` 中移除;
8. 如果用户输入的英文名称与列表 `cancer2` 中对应索引处的元素不同,则提示用户回答错误;
9. 每次答题后累加计数器 `count`;
10. 循环结束后,显示用户答题的次数。
希望这个程序能够帮助你进行单词练习!