我的打印功能有啥问题?

Posted

技术标签:

【中文标题】我的打印功能有啥问题?【英文标题】:What is wrong with my print function?我的打印功能有什么问题? 【发布时间】:2018-02-19 03:51:37 【问题描述】:

我正在介绍 Anaconda 课程,我需要编写一个程序来确定掷骰子在一定数量的面上落下多少次。但是,我无法让它正确打印我的答案。

【问题讨论】:

您可能希望编辑它以包含脚本和错误。 好了,谢谢! 您确实应该将脚本和错误消息作为文本包含在您的问题中,以便我们可以复制并粘贴到我们自己的 Python 编辑器中。只需从编辑器或终端复制并粘贴到您的问题中,突出显示它,然后单击看起来像 的键或在 Windows 中按 Ctrl-K。 【参考方案1】:

来自 Python 文档:https://docs.python.org/3/library/functions.html#print

print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

如您所见,endprint() 函数的参数之一,默认情况下为end=’\n’。所以要正确使用它,你只需要更改end 变量(它可能并不直接适用于你的代码)

这里有一些例子:

>>> for i in range(3):
    print(i, end =' ')


0 1 2 
>>> for i in range(3):
    print(i, end ='')


012
>>> for i in range(3):
    print(i) # by default end=\n


0
1
2
>>> 

而且,如果我正确理解您的逻辑,则可以重新编写相同的代码。

import random

RollDice = int(input("Number of Rolls:"))
numbers = [0 for _ in range(6)] # array of 6 spaces with int 0

for i in range(RollDice):
    Roll = random.randint(1,6)
    numbers[Roll-1] += 1 # the array index starts from 0 hence you need Roll-1

plusMinus = "+-----"*6 + "+\n" # since you are repeating this you might want to assign it to a variable
print(plusMinus + "| 1 | 2 | 3 | 4 | 5 | 6 |\n" + "| " + " | ".join(map(str,numbers)) + " |\n" + plusMinus)

附:不用贴图,下次复制粘贴你的代码,方便我们复制粘贴测试。

【讨论】:

【参考方案2】:

您的问题是您的打印声明。您尝试打印一个字符串,然后打印一个名为 end 的字符串,然后打印另一个字符串,依此类推。我认为您希望 end 成为行尾字符。

而不是打印类似的东西

print("a string" end "another string" end "a third string")

使用

print("a string\n" "another string\n" "a third string")

请注意,"\n" 是 Python 中的行尾字符。我的代码还使用了 Python 的一项功能,您可以将 字符串文字 放在一起,从而将它们组合在一起。让您更清楚地看到各个线条。您的代码失败了,因为您尝试使用 字符串变量(即end)执行此操作,而您甚至没有定义该变量。

【讨论】:

以上是关于我的打印功能有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的打印功能不起作用?链表

如何使用窗口打印功能打印条码标签?

iphone:在我的 iphone 应用程序中添加打印功能

我的尝试有啥问题,除了?我没有得到任何打印,也没有错误

打印机PCL5/PCL5E和PCL6有啥区别?

如何实现打印功能?