【问题标题】:Python printing two things on one linePython在一行上打印两件事
【发布时间】:2017-07-12 20:54:57
【问题描述】:

我正在学习 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?
  • 大概您的displayHand 函数以某种print ..... 语句结尾?尝试用 return..... 语句结束它
  • 它是在 edx 平台上评估的,所以我猜他们可能运行 python 3.5。不幸的是,我无法将 return 放入函数中,因为这是他们为您提供的函数。我猜这意味着只需一个打印语句就可以实现?
  • 还有什么东西丢失/不工作吗?如果提供的答案之一对您有用,请通过单击旁边的绿色对勾来接受它,以向其他人表明它解决了您的问题。 :)

标签: python


【解决方案1】:

您可以使用 print 两次,您只需在第一次 print ex 后添加一个逗号:print("a"), print("b")

【讨论】:

  • 这假设他们使用的是 Python 2。
【解决方案2】:

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"。在这种情况下,我们将只使用一个空字符串。请参阅herehere

输出:

current hand: a a a b b b b c 

【讨论】:

  • 我不会使用dict 作为变量名,因为它是保留名。您还可以使用key, item 循环遍历字典,这将避免dict[key]
  • 啊,谢谢,应该是 dct。我通常是一个 lst 和 dct 类型的人。
【解决方案3】:

这应该对你有用:

print("current hand: ", end="")
displayHand(hand)

在 print() 函数中,默认结束是换行。在上面的代码中,您只需将其更改为您想要的任何内容。

【讨论】:

    【解决方案4】:

    您可以执行以下操作:

    def displayHand(hand):
        print('{} {}'.format('current hand:', ' '.join([' '.join([li] * ni) for li, ni in sorted(hand.items())])))
    

    首先创建一个字符串,然后打印出来。

    然后

    displayHand(hand)
    

    打印所需的输出:

    current hand: a a a b b b b c
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      相关资源
      最近更新 更多