打卡记录
- 学号:1901090022
- 学习课程:Introduction to Computer Science and Programming in Python
- 学习内容:Problem Set 2 (ZIP)
- 打卡天数:D06
Part 2 作业:
A. 游戏要求:
- 程序必须从 words.txt 文件中随机挑选一个单词。hangman.py 文件中已经实现了加载单词列表 和 随机选择单词 的功能。
- 用户一开始有6次机会
- 游戏一开始,提示用户有单词中有多少个字母,提示用户的机会次数。
- 程序需要判断用户还有哪些字母可以猜
B. 用户交互:
The game must be interactive and flow as follows:
- 每次在用户猜测之前,你需要显示以下信息:
a. 提示用户所剩的次数
b. 还有哪些字母用户还没有猜测 - 提示用户每次只能猜一个字母
- 每次等用户输入后,需要告诉用户所输入的单词是否在单词中
- 等用户输入后,你还需要显示结果,哪些才对哪些还没有猜到,使用下划线来标识没有猜到的字母位置。
- 最后,输出()符号,用户区分每一轮游戏
C. 用户输入要求:
- 你可以假设用户每次只输入一个字符,但用户也许会输入数字、特殊符号、字母,你的程序只接收小写字母
- 如果用户输入了字母意外的内容,你需要告诉用户只能输入字母。每当用户输入非字母字符、或者已经输入过的字母,将会减少一次警告的机会,如果没有了警告机会,游戏就会结束。
可以灵活运用一下函数:
- str.isalpha(‘your string’)
- str.lower(‘Your String’)
D. 游戏规则
- 初始【警告次数【为3
- 如果用户输入了非字母的内容,【警告次数】减一;没有警告次数,游戏失败
- 如果用户输入了已经输入过的内容,【警告次数】减一 ;
- 辅音:如果用户输入了辅音字母,且没有猜中,【猜测机会】减1
- 元音:如果用户输入的原因字母,没有猜过,且没有猜中,【猜测机会】减2
E. 游戏终止条件
- 当用户猜对了所有字母 或者 次数消耗完时终止游戏
- 次数消耗完并且没有完成字母,告诉用户结果并显示正确的字母。
- 用户赢了的话,输出恭喜信息,并显示用户分数
- Total score = guesses_remaining* number unique letters in secret_word(总分 = 剩余猜测次数 x 单词字母数(去重))
作业心得
- 学习 not in list 的写法
- list去重的方法
程序代码
1 | # Problem Set 2, hangman.py |