python大师_游戏大师Python鳕鱼

import random

def create_code(characters,length):

"""(str,int) -> list

Return a list of length size of single character of the characters in the given str

>>>create_code('ygbopr')

['g','b','r','b']

"""

characters = 'grbyop'

length = 4

return list(random.sample(characters,length))

pass

def find_fully_correct(answer, guess):

"""(list,list) -> list

Return a list containing a 'b' for each correctly positioned color in the guess

>>>find_fully_correct(['g','b','r','b'], ['g','b','r','b'])

['b', 'b', 'b', 'b']

"""

res= []

for x, y in zip(guess, answer):

if x == y:

res.append("b")

return res if res else None

pass

def remove_fully_correct(answer, guess):

"""(list,list) -> list

Return a list that removes the chars from the first list that are the same and in the same postion in the second list

>>>remove_fully_correct(['a','b','c','d'], ['d','b','a','d'])

['a','c']

"""

res= answer

for x,y in zip(answer, guess):

if x == y:

res.remove(x)

list3 = remove_fully_correct(guess,answer)

list4 = remove_fully_correct(answer,guess)

for char in list4:

if char in list3:

return res

pass

def find_colour_correct(answer, guess):

"""(list,list) -> list

Return a list of 'w''s where the number of 'w''s is qual to the number of strs in the second list that have the same value as the str in the first list but a different position

>>>find_colour_correct(['y','n','g','g'], ['g','n','o','r'])

['w']

"""

res = []

for str in guess:

if str in answer:

res.append("w")

return res

pass

def print_game(guesses, clues):

"""(list,list) -> display

Print to display headers, Guess and Clue, with the corresponding sublists of the given lists

>>>print_game(guesses,clues)

Guesses Clues

o o o o b

r r r r b b

"""

print ('Guesses \t Clues')

guess = ''

clue = ''

guesses = guess_list

clues = clue_list

clue_list = (find_fully_correct, find_correct,colour)

for guess_list in guesses:

for index in range(len(guess_list)):

guess = guess + ' ' + guess_list[index]

guess = guess.lstrip()

for clue_list in clues:

for char in range (len(clue_list)):

clue = clue + ' ' + clue_list[char]

clue = clue.lstrip()

print (guess + ' \t ' + clue + '\n')

pass

def valid(user_guess, valid_chars, size):

if len(user_guess) != size or user_guess not in valid_chars:

return False

else:

return True

pass

if __name__ == '__main__':

size = 4

tries = 10

valid_chars= 'grbyop'

试图编码的策划者游戏,其中涉及创建一个隐藏的颜色组合或代码-由4个颜色代码从6个颜色由程序选择。破译者试图通过代码猜出代码。然后,程序通过告诉第二个玩家猜到的颜色代码中有多少正确定位的颜色,以及猜测中有多少正确但定位错误的颜色,从而对猜测的正确性给出反馈,直到用户猜测到实际的颜色代码或10次尝试都用完为止。在

我在print_game函数和valid函数上遇到问题

另外,我不知道如何命令实际的程序像一个游戏一样在if_uname_u=='main'部分之后运行。比如调用实际函数,向用户发出命令以查看进度。在

任何帮助都是非常感谢的。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值