适合新手的python练习(3)

    技术2024-08-19  54

    猜词语游戏 之 你做我猜

    游戏规则:

    假设有6位小朋友,总共分为三组队伍,每组队伍只有两个人,三组队伍依次开始游戏,队伍中有一人要根据程序给出的词语尽可能的去描绘,好让队友猜出词语,描绘的时候可以使用肢体语言或口头语言向猜词者传达信息,但口头语言不能与词语的内容相关,只能对词语进行描述表达,每组队伍的游戏时间为1分钟,游戏结束后统计答对的题数,最后由答对数量最多的那组队伍获得胜利。

    实现过程:

    因为整个比赛共有三组队伍参加,每组队伍玩的游戏都是一样的,那么三组队伍可以看作是三次遍历循环的函数。在这个函数里,每次循环代表当前队伍的游戏开始和结束,游戏开始与结束也可以看成另外一个函数。简单来讲,三组队伍看成函数a,猜词语游戏看成函数b,我们需要在函数a里调用函数b。

    具体代码如下:

    import time # 每组队伍的游戏过程 def guess(i): correct = 0 start = time.time() for k in range(len(i)): # 显示词语题目 print(('%d.%s') % (k + 1, i[k])) flag = input('请答题,答对请输入y,跳过请输入任意键') sec = time.time() - start # 统计用时 if (50 <= sec <= 60): print('还有10秒钟') if (sec >= 60): print('时间到!游戏结束') break # 答对就累加1 if (flag == 'y'): correct += 1 continue else: continue return correct # 遍历每组队伍,调用answer函数实现游戏 def team(guessWord): for i in guessWord: correct = guess(i) str_temp = ('恭喜你,你答对了%d道题') % (correct) print(str_temp) print('##############下一组开始##############') # 主程序定义游戏内容,然后调用team函数开始游戏 if __name__ == '__main__': guessWord = [] guessWord.append(['害羞', '金鸡独立', '狼吞虎咽', '闻鸡起舞', '手舞足蹈', '科比', '英雄联盟']) guessWord.append(['扭秧歌', '偷看美女', '大摇大摆', '回眸一笑', '过河拆桥', '自恋', '吃撑了']) guessWord.append(['狗急跳墙', '捧腹大笑', '目不转睛', '愁眉苦脸', '暗恋', '臭袜子', '表白']) team(guessWord)

    代码解析:

    从上述代码可以看到,我们定义的函数team和guess分别代表队伍和游戏。

    首先分析函数guess:

    (1)函数guess是整段代码中最底层的函数,同时也是实现猜词语的游戏功能。

    (2)函数参数i代表当前队伍的词语题目,函数变量correct和start代表答对的题目数和开始时间。

    (3)函数里面的循环是将词语的题目遍历并输出,每条题目通过描绘者输入的内容来判断当前题目是答对或跳过。

    (4)在这个遍历过程中加入时间的计算和判断,超时就会自动终止循环。

    (5)如果答对了题目,函数变量correct累加1,否则进行下一次循环。

    然后分析函数team:

    (1)函数team是通过循环词组guessWord,guessWord是该函数参数并且是一个长度为3的二维列表,也就是说列表有三个元素,每个元素是一个列表。

    (2)每次循环guessWord得到它的元素值,然后调用guess函数并将元素值作为函数参数。

    (3)最后获取guess函数的返回值,返回值是代表当前队伍答对的题目数量。

    最后在主程序中,定义guessWord列表并设置列表的元素值然后调用team函数并将列表guessWord传递进去。

    Processed: 0.013, SQL: 9