2015-10-03 40 views
-1

的消息,我有這個掛人的代碼,但我想補充的參數傳遞給它傳遞一個值來終結比賽

import time 

import random 


#Procedure 
def Username(): 
    name = raw_input("What is your name?") 
    print "Hello, "+ name, "Time to play hangman!" 
    print "\n" 

def loading(): 
    #Makes the user wait for 1 second 
    time.sleep(1) 
    print "Start guessing..." 
    time.sleep(0.5) 
    return 

def randwords(): 
    global words 
    words = ["keyboard", "motherboard", "python", "powersupply"] 
    words = random.choice(words) 

#Main Program 
Username() 

loading() 


randwords() 

guesses ="" 

turns = 12 


#while loop 


while turns > 0: 

    failed = 0 

    for char in words: 

     if char in guesses: 

      print char, 

     else: 

      print"_", 

      failed += 1  

    if failed == 0: 
     print "\nyou won Well Done" 


     break 
    print 


    guess = raw_input("guess a character:") 


    guesses += guess 

    if guess not in words: 


     turns -= 1 


     print "wrong\n" 


     print "you have", + turns, "more guesses" 

     if turns == 0: 

      print "you lose GAME OVER\n" 


input() 
Username() 
waiting() 

Random 

我希望它取的名字值,用戶在一開始,然後將該值傳遞給最終消息。

print "you have won (NAME) Well Done" 

print "you lose (NAME) GAME OVER" 

請幫我人,因爲我可以每次我想我得到一個錯誤信息的時間解決問題。

+0

你嘗試了什麼,並得到了什麼錯誤信息? – yurib

+0

什麼是「隨機」? –

回答

0

您應該將'name'聲明爲全局變量。

name = '' # before def Username 

你分配一個值,這個變量之前,就以下:

global name 
name = raw_input("What is your name?") 

然後你可以在任何地方使用這個變量在腳本中打印出它的價值。

print name, "you lose GAME OVER\n" 

PS:要寫入gllobal變量,你必須先:

global <variable-name> 

然而,您可以在正常的方式讀取它的值

+0

感謝這項工作很好,謝謝你的幫助 –

0

你可以簡單地從返回的名稱函數'用戶名()'。

def Username(): 
    ... 
    return name 

def main(): 
    ... 
    name = Username() 
    ... 
+0

感謝這工作,並幫助了我很多,所以謝謝你的幫助 –