传递值以结束游戏消息

Passing a value to end message of game

我有这个 hang man 代码,但我想添加传递给它的参数

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"

请有人帮助我,因为我每次尝试都会收到错误消息时可以解决问题。

您应该将 'name' 声明为全局变量。

name = '' # before def Username

在为该变量赋值之前,请执行以下操作:

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

然后您可以在脚本中的任何地方使用这个变量来打印它的值。

print name, "you lose GAME OVER\n"

P.S :要写入全局变量,必须在前面加上:

global <variable-name>

然而,您可以通过正常方式读取其值

您可以简单地 return 函数 'Username()' 中的名称。

def Username():
    ...
    return name

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