-1

我正在尝试从列表中访问两个名称并将它们显示在下面的 dead() 函数中。它仅在终端中显示 %s 和 %s。我已经阅读了 Python 列表上的文档,但我看不出我做错了什么。

from sys import exit

name = ["Max", "Quinn", "Carrie"]

def start():
    print """
    There are a bunch of people beating at the door trying to get in.
    You're waking up and a gun is at the table.
    You are thinking about shooting the resistance or escape through out the window.
    What do you do, shoot or escape?
    """
    choice = raw_input("> ")

    if choice == "shoot":
        dead("You manage to get two of them killed, %s and %s, but you die as well.") % (name[1], name[2])

这是我的 dead() 函数的代码:

def dead(why):
    print why, "Play the game again, yes or no?"

    playagain = raw_input()

    if playagain == "yes":
        start()
    elif playagain == "no":
        print "Thank you for playing Marcus game!"
    else:
        print "I didn't get that, but thank you for playing!"
    exit(0)
4

2 回答 2

4

关闭函数调用的括号dead()应移至行尾。否则,字符串插值发生在其返回值而不是其输入上。

你的:

dead("You manage to get two of them killed, %s and %s, but you die as well.") % (name[1], name[2])

固定的:

dead("You manage to get two of them killed, %s and %s, but you die as well." % (name[1], name[2]))
于 2013-10-29T20:17:04.180 回答
0

格式需要在括号内。照原样,该格式将适用于从dead().

dead("You manage to get two of them killed, %s and %s, but you die as well." % (name[1], name[2]))
于 2013-10-29T20:17:30.870 回答