关键词不能为空

当前您在: 主页 > 英语 >

python综合练习(附代码)_

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-13 14:52
tags:

-

2021年2月13日发(作者:天灸)


综合练习




一、要求:



1




2




3





二、



题目(任选一个)



1





2




设计完成一个单词游戏


: HANGMAN


。请按题目指导逐步完成。


< br>这是一个经典单词游戏


Hangman


的变形设计。


如果你对游戏规则


不熟悉,可以点击链接()


。此处第二玩家始终是计算机,它会随机


选择一个单词(即下文经常用到的

< p>
secretWord




在这个问题中,你将实现函数


hangman


(最后需要完成 的函数)



程序将在玩家与计算机之间交互运行。在完成这个函 数的设计之前,


需要先创建几个辅助函数。



首先下载两个文件





,存放在同一个目录中。打开并运 行文




,不要做任何修改


,


以保证正确运行。



题目所给的代码从 文本文件中装载单词列表,


如果运行正常应该


可以看到:



Loading word list from file...



结合个人实际工作内容,应用


Python


语言编程计算。



本综合练习为选作,但建议完成;



完 成时间:


2017



11



28


日之前;



如果完成,可在总评成绩中体现。



55909 words loaded.



如果出现错误,需要将语句:



WORDLIST_FILENAME =



修改为类似如下形式(取决于存在哪个目录中)




WORDLIST_FILENAME =




文件



已 经实现了几个函数,


可以直接用于问题的解决,


你可以


忽略代码中的注释,


不过还是建议读一下。


可以 将自己的代码都写在


这个文件里。






游戏要求


:



1


、计算机从单词表中随机地选取一个单词,实现这一点的代码已经

提供在文件中。



2


、游戏是交互 式的,游戏的流程如下:



?



刚开始时,让用户知道单词的长度(即


secretWord


的长度)



?



每一轮让用户猜一次(一个字母)



?



用户能得到立即反馈,所猜字母是 否是


secret


单词的字母




?



每一轮,需要显示已经猜中的部分,以及用户没有猜过的字母



3.


游戏的额外规则:



?



用户可以猜


8



.


每一轮猜测后提醒他剩余多 少次可猜。假设用


户总是每次输入一个字母


(A-Z)




?



当用户错误猜测时,猜测次数减少


1


次。



?



如果用户重复猜了已经猜过的字母 ,猜测次数不减,提醒他这个


字母已经猜过了,并继续猜测。



?



如果用户猜过的字母拼出了那个单 词,游戏结束。如果用户用完


猜测次数(未猜中单词)


,游戏结 束并揭示秘密单词。




样例


(注:有两类,仔细看哦,对写代码有好处)



赢了游戏应如下显示:



Loading word list from file...




55900 words loaded.




Welcome to the game, Hangman!




I am thinking of a word that is 4 letters long.




-------------




You have 8 guesses left.




Available letters: abcdefghijklmnopqrstuvwxyz




Please guess a letter: a




Good guess: _ a_ _




------------




You have 8 guesses left.




Available letters: bcdefghijklmnopqrstuvwxyz




Please guess a letter: a




Oops! You've already guessed that letter: _ a_ _




------------




You have 8 guesses left.




Available letters: bcdefghijklmnopqrstuvwxyz




Please guess a letter: s




Oops! That letter is not in my word: _ a_ _




------------




You have 7 guesses left.




Available letters: bcdefghijklmnopqrtuvwxyz




Please guess a letter: t




Good guess: ta_ t




------------




You have 7 guesses left.




Available letters: bcdefghijklmnopqruvwxyz




Please guess a letter: r




Oops! That letter is not in my word: ta_ t




------------














You have 6 guesses left.



Available letters: bcdefghijklmnopquvwxyz



Please guess a letter: m



Oops! That letter is not in my word: ta_ t



------------



You have 5 guesses left.



Available letters: bcdefghijklnopquvwxyz



Please guess a letter: c



Good guess: tact



------------



Congratulations, you won!




输了游戏如下显示:



Loading word list from file...




55900 words loaded.




Welcome to the game Hangman!




I am thinking of a word that is 4 letters long




-----------




You have 8 guesses left




Available Letters: abcdefghijklmnopqrstuvwxyz




Please guess a letter: a




Oops! That letter is not in my word _ _ _ _




-----------




You have 7 guesses left




Available Letters: bcdefghijklmnopqrstuvwxyz




Please guess a letter: b




Oops! That letter is not in my word _ _ _ _




-----------




You have 6 guesses left




Available Letters: cdefghijklmnopqrstuvwxyz




Please guess a letter: c




Oops! That letter is not in my word _ _ _ _




-----------




You have 5 guesses left




Available Letters: defghijklmnopqrstuvwxyz




Please guess a letter: d




Oops! That letter is not in my word _ _ _ _




-----------




You have 4 guesses left




Available Letters: efghijklmnopqrstuvwxyz




Please guess a letter: e




Good guess: e_ _ e



























-----------



You have 4 guesses left



Available Letters: fghijklmnopqrstuvwxyz



Please guess a letter: f



Oops! That letter is not in my word e_ _ e



-----------



You have 3 guesses left



Available Letters: ghijklmnopqrstuvwxyz



Please guess a letter: g



Oops! That letter is not in my word e_ _ e



-----------



You have 2 guesses left



Available Letters: hijklmnopqrstuvwxyz



Please guess a letter: h



Oops! That letter is not in my word e_ _ e



-----------



You have 1 guesses left



Available Letters: ijklmnopqrstuvwxyz



Please guess a letter: i



Oops! That letter is not in my word e_ _ e



-----------



Sorry, you ran out of guesses. The word was else.



需要完成下列三个辅助函数:



1




函数


isWordGuessed



(secretWord,


lettersGuessed)




它有


2



参< /p>









secret Word,




< br>符




lettersGues sed



函数返回逻辑值




如果


secretWord


已经被


猜中


(ie,


secretWord


中的所有字母都在

lettersGuessed)



True


,否则返回


False




假设


secretWord



lettersGuessed


都是小写字母。



例如:



>>> secretWord = 'apple'



>>> lettersGuessed = ['e', 'i', 'k', 'p', 'r', 's']



>>> print (isWordGuessed(secretWord, lettersGuessed))



False




2




函数


getGuessedWord



(secretWord,


lettersGuessed)


,它有


2













secretWord








lettersGuessed


。 函数返回一个字符串,该返回串由字母与下


划线组成,内容取决于


lettersGuessed


中的


字母是否是


secretWord





.








< p>








isWordGuessed


相差太大。



当在字符串中加入下划线时,要在后面加至少一个空格,这样


用户看还有多少个 字母未猜中会更清楚


(


比较一下形式



__



_ _ _ _ )




假设


secretWord



lettersGuessed


都是小写字母。



例如:



>>> secretWord = 'apple'



>>> lettersGuessed = ['e', 'i', 'k', 'p', 'r', 's']



>>> print getGuessedWord(secretWord, lettersGuessed)



'_ pp_ e'




3




函数


getAvailableLetters


(lettersGuessed)


,它接受一个输


入参数:一个字母列表


lettersGuessed


。函数返 回所有没有被


猜测过


(即不在


lett ersGuessed


中)


的小写字母按字母顺序组

< p>
成的字符串。



假设


le ttersGuessed


中的字母都是小写的。



例如:



lettersGuessed = ['e', 'i', 'k', 'p', 'r', 's']



>>> print getAvailableLetters(lettersGuessed)



Abcdfghjlmnoqtuvwxyz




最后要完成的函数


hanman




hangman(secretWor d)


,它有一个输入参数:用户需要去猜测的


单词


secretWord


(后续程序用到的变量名)


。由它开始游戏程序


Hangman


用户与计算机的交互过程。 确保你用到之前部分设计完成的


辅助函数


isWordGues sed



etGuessedWord



getAvailableLetters




使用函数


lower()


来将用户的输入转换为小写。




4


个重要的信息需要保存:




1




s


ecretWord


:猜测的目标单词< /p>




2




l


ettersGuessed


:追踪用户 猜测过的字母




3




m


istakesMade


:记录用户猜测 错误的次数




4




a


vailableLetters



还可以用来被猜测的字母,


用户猜测


过的字 母需要从


availableLetters


移除,用户重复猜 了


的字母,你需要告知用户你已经猜过这个字母。




The end



-


-


-


-


-


-


-


-



本文更新与2021-02-13 14:52,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/650810.html

python综合练习(附代码)_的相关文章