我正在完成edx python课程。我在上次作业中正确地完成了所有操作。但是,我正在努力解决此印刷问题。
我有一个函数displayHand(hand)
,该函数本质上是一个字典,键是字母,值是字母出现的次数。然后,该函数打印一个字符串,每个键与其值出现相同的次数。所以例如
hand={a:3, b:4, c:1}
displayHand(hand)=a a a b b b b c
现在,在程序中,对于任何给定的手,都希望我使用
displayHand
函数将其显示为文本“当前手:”同样,如果
hand={a:3, b:4, c:1}
程序应显示current hand: a a a b b b b c
我该如何使用打印对帐单?我已经尝试过
print("current hand"+str(displayHand(hand))
,但这首先评估函数,然后仅打印None
。我不能将print("Current Hand: ")
和displayHand(hand)
直接放在下面,因为那样它们会在不同的行上打印。我需要让它们在同一行上打印。 最佳答案
Python 3:
def displayHand(dct):
for key, val in sorted(dct.items()): # sorted if key order should be abc
print((key + " ") * val, end="")
hand = {"a": 3, "b": 4, "c": 1}
print("current hand: ", end="")
displayHand(hand)
注意
end=""
,它追加了""
内部的内容。默认设置为end="\n"
。在这种情况下,我们将只使用一个空字符串。请参见here和here。输出:
current hand: a a a b b b b c
关于python - Python在一行上打印两件事,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42397743/