Python中的刽子手 - 辅音猜测编码

时间:2012-10-19 18:29:45

标签: python

问题

guess_letter:
(str, str) -> str

第一个参数是未经授权的辅音,第二个参数是难度等级。返回计算机播放器接下来猜到的辅音。如果等级是EASY,则猜测的辅音是随机选择的。如果level为HARD,则辅音猜测第一个参数中出现的PRIORITY_CONSONANTS中的第一个辅音。

PRIORITY_CONSONANTS = 'tnrslhdcmpfgybwvkqxjz'
EASY = 'E'
HARD = 'H'

整体而言,这个项目将创建一个功能性的Hangman游戏,这是我必须自己编写的一个组件。

我不知道怎么写这个我做了一个我想解决的小结构。但老实说,我不明白该写些什么。

我希望当难度级别很难时,它会选择参数unguessed辅音中出现的优先辅音中的第一个辅音 当它很容易我想要任何随机辅音出现

guess_letters(unguessed_consonants, difficulty_level):
if difficulty_level == EASY:
if difficulty_level ==HARD:

2 个答案:

答案 0 :(得分:1)

import random

EASY = 'E'
HARD = 'H'
PRIORITY_CONSONANTS = 'tnrslhdcmpfgybwvkqxjz'
EASY_CONSONANTS = '' # what should be here?

def guess_letters(unguessed_consonants, difficulty_level):
    if difficulty_level == EASY:
        search_set = EASY_CONSONANTS
    elif difficulty_level == HARD:
        search_set = PRIORITY_CONSONANTS

    for con in unguessed_consonants:
        if con in search_set:
             return con

回应纳迪亚的评论:

  

kk工作得更好,除非我输入'zk'在硬盘上它会给我z而不是k k在PRIORITY_CONSONANTS之前出现所以输出应该是k

在这种情况下,应首先迭代search_set:

    for con in search_set:
        if con in unguessed_consonants:
             return con

答案 1 :(得分:0)

我不会在这里给你答案。但是你可以使用str.index

实现“HARD”模式
>>> 'abcd'.index('b')
1

查看docs了解更多文档