公牛和奶牛游戏 - 初学者的Python编程

时间:2015-10-21 15:14:53

标签: python

我是Python的初学者编程,为了评估作业,我被要求使用非常简单的代码编写公牛和奶牛游戏。 我已经编写了一些代码,但似乎无法使该功能正常工作。该函数应该能够将用户写入的四位数(num_guess)与程序生成的随机数(存储在名为num的列表中)进行比较。 我可以输入值,但没有来自程序的进一步反馈。 你能检查我的代码并帮助我吗? 谢谢!

import random

guess = raw_input("What is your guess? ") 
if (len(guess) != 4): 
    guess = raw_input("Your guess must be 4 characters long! What is your guess?")

num_guess = []  
for c in guess:  
    num_guess.append(int(c)) 

def compare(num_guess):
    num = []  
    for i in range(4):  
        n = random.randint(0, 9)  
        while n in num: 
            n = random.randint(0, 9)
        num.append(n)

 if num_guess == num: 
     print "Congratulations! Your guess is correct"

 output = []

 if num_guess[0] == num [0]:
    output.append["B"]
 else:
     output.append["C"]

 if num_guess[1] == num [1]:
     output.append["B"]
 else:
     output.append["C"] 

 if num_guess[2] == num [2]:
     output.append["B"]
 else:
     output.append["C"] 

 if num_guess[3] == num [3]:
     output.append["B"]
 else:
     output.append["C"]

 return output

nguesses = 0
while nguesses < 11:
nguesses = nguesses + 1, compare 

1 个答案:

答案 0 :(得分:0)

如果没有提供更正后的代码,您需要在代码末尾调用该函数。如果你想看到结果:

print compare(num_guess)

这将向您展示所有这些部分的其他问题

output.append[]

我不确定这是不是你粘贴的方式,但你可能想要清理缩进。也:

while n in num: 
        n = random.randint(0, 9)

以上部分不是必需的。玩得开心,弄清楚如何让它运作良好。