3

在 Python 中,我有一个打印一些东西的函数。我想事先在同一行打印一些东西。

所以,我使用下面的代码

print 'The hand is', displayHand(hand)

def displayHand(hand):

    for letter in hand.keys():
        for j in range(hand[letter]):
             print letter,              # print all on the same line
    print                               # print an empty line

然而,函数内的 print 被函数外的 print 调用。

如何打印开始字符串,然后调用我的函数?

4

3 回答 3

5

重命名displayHandrenderHand并让它返回一个字符串。

于 2012-10-26T22:00:06.373 回答
0

@zmbq 提供的返回答案是显而易见且正确的,但是如果您仍然想要自己的方式,则可以使用 newer print,假设您使用的是 python >= 2.6

from __future__ import print_function
print("Something", end="")

有了它,您可以在没有\n. 所以基本上你可以这样做:

print("The hand is", end="")
displayHand(hand)

在函数中:

print("letter", end="")
于 2012-10-26T22:08:08.137 回答
0

对于 2.x:

print 'The hand is', 
displayHand(hand)
print

对于 3.x:

print('The hand is', end="")
displayHand(hand)
print()

更好的方法是将“手是”的打印移到函数本身中。

于 2012-10-26T22:14:39.550 回答