python综合练习文档格式.docx

上传人:b****7 文档编号:22305079 上传时间:2023-02-03 格式:DOCX 页数:13 大小:141.27KB
下载 相关 举报
python综合练习文档格式.docx_第1页
第1页 / 共13页
python综合练习文档格式.docx_第2页
第2页 / 共13页
python综合练习文档格式.docx_第3页
第3页 / 共13页
python综合练习文档格式.docx_第4页
第4页 / 共13页
python综合练习文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

python综合练习文档格式.docx

《python综合练习文档格式.docx》由会员分享,可在线阅读,更多相关《python综合练习文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

python综合练习文档格式.docx

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

C:

\Users\Zhangjl\"

文件已经实现了几个函数,可以直接用于问题的解决,你可以忽略代码中的注释,不过还是建议读一下。

可以将自己的代码都写在这个文件里。

游戏要求:

1、计算机从单词表中随机地选取一个单词,实现这一点的代码已经提供在文件中。

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

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

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

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

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

3.游戏的额外规则:

•用户可以猜8次.每一轮猜测后提醒他剩余多少次可猜。

假设用户总是每次输入一个字母(A-Z)。

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

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

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

如果用户用完猜测次数(未猜中单词),游戏结束并揭示秘密单词。

样例(注:

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

赢了游戏应如下显示:

55900wordsloaded.

Welcometothegame,Hangman!

Iamthinkingofawordthatis4letterslong.

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

Youhave8guessesleft.

Availableletters:

abcdefghijklmnopqrstuvwxyz

Pleaseguessaletter:

a

Goodguess:

_a__

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

bcdefghijklmnopqrstuvwxyz

Oops!

You'

vealreadyguessedthatletter:

s

Thatletterisnotinmyword:

Youhave7guessesleft.

bcdefghijklmnopqrtuvwxyz

t

ta_t

bcdefghijklmnopqruvwxyz

r

Youhave6guessesleft.

bcdefghijklmnopquvwxyz

m

Youhave5guessesleft.

bcdefghijklnopquvwxyz

c

tact

Congratulations,youwon!

输了游戏如下显示:

WelcometothegameHangman!

Iamthinkingofawordthatis4letterslong

-----------

Youhave8guessesleft

AvailableLetters:

Thatletterisnotinmyword____

Youhave7guessesleft

b

Youhave6guessesleft

cdefghijklmnopqrstuvwxyz

Youhave5guessesleft

defghijklmnopqrstuvwxyz

d

Youhave4guessesleft

efghijklmnopqrstuvwxyz

e

e__e

fghijklmnopqrstuvwxyz

f

Thatletterisnotinmyworde__e

Youhave3guessesleft

ghijklmnopqrstuvwxyz

g

Youhave2guessesleft

hijklmnopqrstuvwxyz

h

Youhave1guessesleft

ijklmnopqrstuvwxyz

i

Sorry,youranoutofguesses.Thewordwaselse.

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

1、函数isWordGuessed(secretWord,lettersGuessed),它有2个参数:

一个字符串secretWord,一个字符列表lettersGuessed。

函数返回逻辑值,如果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的字母.这个函数不应该与前面编写的代码isWordGuessed相差太大。

当在字符串中加入下划线时,要在后面加至少一个空格,这样用户看还有多少个字母未猜中会更清楚(比较一下形式__与____)。

假设secretWord和lettersGuessed都是小写字母。

printgetGuessedWord(secretWord,lettersGuessed)

'

_pp_e'

3、函数getAvailableLetters(lettersGuessed),它接受一个输入参数:

一个字母列表lettersGuessed。

函数返回所有没有被猜测过(即不在lettersGuessed中)的小写字母按字母顺序组成的字符串。

假设lettersGuessed中的字母都是小写的。

lettersGuessed=['

printgetAvailableLetters(lettersGuessed)

Abcdfghjlmnoqtuvwxyz

最后要完成的函数hanman:

hangman(secretWord),它有一个输入参数:

用户需要去猜测的单词secretWord(后续程序用到的变量名)。

由它开始游戏程序Hangman用户与计算机的交互过程。

确保你用到之前部分设计完成的辅助函数isWordGuessed、etGuessedWord和getAvailableLetters。

使用函数lower()来将用户的输入转换为小写。

有4个重要的信息需要保存:

(1)secretWord:

猜测的目标单词

(2)lettersGuessed:

追踪用户猜测过的字母

(3)mistakesMade:

记录用户猜测错误的次数

(4)availableLetters:

还可以用来被猜测的字母,用户猜测过的字母需要从availableLetters移除,用户重复猜了的字母,你需要告知用户你已经猜过这个字母。

Theend

importrandom

importstring

defloadWords():

print("

Loadingwordlistfromfile..."

)#inFile:

file

inFile=open(WORDLIST_FILENAME,'

-1)#line:

string

line=()#wordlist:

listofstrings

wordlist=()

"

len(wordlist),"

wordsloaded."

returnwordlist

defchooseWord(wordlist):

return(wordlist)

defisWordGuessed(secretWord,lettersGuessed):

forcinset(secretWord):

ifnotcinlettersGuessed:

returnFalse

else:

returnTrue

defgetGuessedWord(secretWord,lettersGuessed):

ss="

forsinset(lettersGuessed):

ifsinsecretWord:

ss=ss+s

returnss

defgetAvailableLetters(lettersGuessed):

s="

abcdefghijklmnopqrstuvwxyz"

forcinlettersGuessed:

s=(c,'

returns

defhangman(secretWord):

print("

Iamthinkingofawordthatis%dletterslong."

%len(secretWord))

lettersGuessed='

AvailableLetters=getAvailableLetters(lettersGuessed)

GuessedWord=getGuessedWord(secretWord,lettersGuessed)

tmp_str="

foriinrange(0,len(secretWord)):

tmp_str=tmp_str+"

_"

left=8

whileleft>

0:

------------"

Youhave"

left,"

guessesleft."

AvailableLetters)

end='

while1:

c=input()

if('

a'

<

=c<

='

z'

or'

A'

Z'

)andlen(c)==1:

c=()

break

Wronginput!

Pleaseguessaletter:

ifcinlettersGuessed:

tmp_str)

lettersGuessed=lettersGuessed+c

ifcinsecretWord:

GuessedWord=GuessedWord+c

fortmpinsecretWord:

iftmpinGuessedWord:

+tmp

+"

_"

ifisWordGuessed(secretWord,lettersGuessed):

left=left-1

Oops!

ifnotisWordGuessed(secretWord,lettersGuessed):

Sorry,youranoutofguesses.Thewordwaselse."

wordlist=loadWords()

secretWord=chooseWord(wordlist)

hangman(secretWord)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1