我正在介绍Anaconda课程,我需要编写一个程序来确定骰子滚动到一定数量的脸上的次数。但是,我无法正确打印我的答案。
答案 0 :(得分:0)
您的问题是您的打印声明。您尝试打印一个字符串然后打印一个名为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
,并且您甚至没有定义该变量。
答案 1 :(得分:0)
来自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)
P.S。请不要附加图片,请在下次复制并粘贴代码,以便我们可以将n粘贴复制到测试中。