未定义函数参数

时间:2014-01-22 00:17:12

标签: python function

我正在尝试给参数赋值,以便我可以在其他函数中使用它,但是当我尝试查看它是否有效时,它告诉我它没有定义。 (该值是从列表中随机选取的,您可以在下面看到)我该如何解决这个问题?

import random

player_choice = raw_input("which hand do you wanna play?: ")

def hand_process(computer_choice):
    hand_list = ["Rock","Paper","Scissors"]
    chosen_hand = random.randrange(0,len(hand_list))
    computer_choice = hand_list[chosen_hand]
    print computer_choice
    return computer_choice

def main():
    if player_choice == hand_process(computer_choice):
        print "It's a tie"
    else:
        print "Well then..."

main()的

3 个答案:

答案 0 :(得分:1)

一些错误:

  1. hand_list在不同的行中拼写不同
  2. 不必传入computer_choice,因为它是在main()
  3. 中计算的

    以下是可行的代码,您想要的方式

    import random
    
    player_choice = raw_input("which hand do you wanna play?: ")
    
    def hand_process():
        hand_list = ["Rock","Paper","Scissors"]
        chosen_hand = random.randrange(0,len(hand_list))
        computer_choice = hand_list[chosen_hand]
        print computer_choice
        return computer_choice
    
    def main():
        if player_choice == hand_process():
            print "It's a tie"
        else:
            print "Well then..."
    
    main()
    

答案 1 :(得分:0)

首先:在main函数中调用hand_process时不存在computer_choice

第二:python区分大小写,所以Hand_list!= hand_list函数中的hand_list

最后:寻找random.choice

答案 2 :(得分:0)

在函数main内,您尚未定义名为computer_choice的变量。这就是为什么Python抱怨它找不到它。

请注意,Hand_listhand_list不同。

还有much easier way to pick a random element from your list.