TypeError:格式字符串的参数不足 - 使用While循环

时间:2012-12-15 22:00:00

标签: python

我正在使用旧的99瓶歌曲并尝试使用While循环来帮助我继续更好地学习循环类型。

我想知道为什么在下面的代码中我会得到一个TypeError以及我错过了什么参数?

这是我的代码:

# Get number of beers
bottles = int(raw_input("How many bottles of beer? "))

# return invalid response
if bottles < 1:
    print "That's not a good number"

    if bottles == 1:
        s1 = "bottle" 
        s2 = "bottles" 

    elif bottles == 2:
        s1 = "bottles" 
        s2 = "bottles" 

# sing verses
while bottles > 0:
    print "%d %s of beer on the wall," % bottles, s1
    print "%d %s of beer." % bottles, s1
    print "You take one down, pass it around,"
    print "%d %s of beer on the wall." % (bottles - 1), s2
    print
    bottles -= 1

这是错误:

Traceback (most recent call last):
    File "beer.py", line 47, in <module>
          print "%d %s of beer on the wall," % bottles, s1
TypeError: not enough arguments for format string

我尝试在%之后的“瓶子,s1”周围使用括号,但仍然没有帮助。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

你必须指定多个参数作为元组,例如

print "%d %s of beer on the wall," % (bottles, s1)