我必须创建一个函数,两个随机掷骰子返回组合值。然后我要用一个循环来滚动它,给我五个不同的组合值。
我一直纠结的一点是,定义一个循环的组合滚动得到一个出来。
我只是不断地得到序列 1 22 333 4444 55555个
如果您有任何建议或帮助,不胜感激。谢谢您。
这是到目前为止我已经完成的代码
import random
def point():
rollone = random.randint(1, 6)
rolltwo = random.randint(1, 6)
combined_value = dicesum(rollone, rolltwo)
def dicesum(x, y):
result = x + y
return result
for result in range(1,6):
for dicerolls in range(result):
print(result, end='')
print()
point()
代码的问题是在一个范围(1,6)内的一个范围(n)上创建一个循环,因此基本上第一次迭代时只得到1个总循环(第二个范围),然后创建一个新的范围(2),它打印结果内容的两倍。在第三次迭代中,调用range(3),它迭代3次打印(同样,打印只输出结果变量,而不输出骰子)。在
它确实会给你带来结果。如果我不够清楚,换句话:
通过以下行:
^{pr2}$执行它,你会有一个更好的结果。在
编辑:@Cyber的答案是完美的,如果你想更正你的代码。我只想解释你为什么会得到这样的结果:)
您的
point
方法在对结果求和后不返回任何内容。请参阅下面的代码。在测试
^{pr2}$在你的代码中,几乎没有被打印出来。在
你实际打印的内容与
^{pr2}$对代码的最短更正可能看起来像
(我现在看到的是赛博所说的)。在
相关问题 更多 >
编程相关推荐