我的打印功能有啥问题?
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)
如您所见,end
是print()
函数的参数之一,默认情况下为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
)执行此操作,而您甚至没有定义该变量。
【讨论】:
以上是关于我的打印功能有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章