创建cancer1和cancer2两个列表,分别为5种癌症中文名称和对应的英文: cancer1="肺癌",”乳腺癌",”肝癌","胃癌","骨癌" cancer2=["lung cancer","breast cancer", "liver cancer"," gastric cancer" ,"bone cancer"] 完成一个单词练习程序,功能为随机给出癌症中文名称,用户输入对应的英文。用户输入正确则显示“答对了“,答对的中文单词不再显示;输入错误则显示”答错了“,答错的单词后面还会随机出现。程序只有用户将S个单词都答对才会结束,结束后显示用 户答题的次数。
时间: 2023-07-02 22:20:08 浏览: 56
好的,以下是实现该程序的Python代码:
```python
import random
cancer1 = ["肺癌", "乳腺癌", "肝癌", "胃癌", "骨癌"]
cancer2 = ["lung cancer", "breast cancer", "liver cancer", "gastric cancer", "bone cancer"]
correct_answers = [] # 存储用户答对的单词
wrong_answers = [] # 存储用户答错的单词
while len(correct_answers) < len(cancer1):
index = random.randint(0, len(cancer1) - 1)
if cancer1[index] not in correct_answers:
answer = input(cancer1[index] + "的英文是:")
if answer.lower() == cancer2[index]:
print("答对了!")
correct_answers.append(cancer1[index])
else:
print("答错了!")
wrong_answers.append(cancer1[index])
print("你一共答了{}个单词。".format(len(correct_answers) + len(wrong_answers)))
```
程序流程:
1. 定义两个列表,分别存储中英文单词;
2. 定义两个空列表,分别存储用户答对和答错的单词;
3. 进入循环,直到用户答对的单词数量等于总单词数量;
4. 从中文单词列表中随机选择一个单词,判断是否已经被用户答对;
5. 如果没被答对,则输出中文单词,接收用户输入的英文单词;
6. 如果用户输入的英文单词与正确答案相同,则输出“答对了”,并将该单词加入答对列表;
7. 如果用户输入的英文单词与正确答案不同,则输出“答错了”,并将该单词加入答错列表;
8. 继续循环,直到用户答对的单词数量等于总单词数量;
9. 输出用户总共答了多少个单词。
注意事项:
1. 如果用户输入的英文单词不区分大小写,因此使用 `answer.lower()` 将用户输入的字符串转换为小写字母;
2. 如果用户输入的英文单词与正确答案不完全相同,程序会认为用户答错,因此需要确保英文单词的大小写、空格等方面与正确答案完全一致。