我有一个问题:
程序运行时,它将随机选择一个1到6之间的数字。(或您喜欢的其他整数-模子上的边数取决于您。)该程序将打印该数字。然后,它会询问您是否要再次滚动。对于这个项目,您需要设置骰子可以产生的最小和最大数目。对于普通骰子,这意味着最少为1,最多为6。您还需要一个函数,该函数随机获取该范围内的数字并打印出来。
这是我到目前为止所做的:
import random
x = random.randint(1,6)
print("You roll a die ", x)
new_try = input("\n\n Do you want to roll a die again?")
if str(new_try) == 'yes':
print("You roll a die ", x)
else:
print("Cool game!")
我仍然得到相同的数字:(
答案 0 :(得分:0)
我认为您每次可以进行新的尝试时,可以设置不同的种子。
答案 1 :(得分:0)
您无需第二次更改x,而只需再次打印即可,得到相同的结果。这是固定版本的代码:
import random
x = random.randint(1, 6)
print("You roll a die", x)
new_try = input("\n\n Do you want to roll again? ")
if new_try == 'yes':
x = random.randint(1, 6)
print("You roll a die", x)
else:
print("Cool game!")
如果要为其使用功能,则可以多次执行:
import random
def roll_dice():
x = random.randint(1, 6)
print("Dice was rolled: " + str(x))
try_again = input("Do you want to try again? ")
if try_again == 'yes':
roll_dice()
roll_dice()
答案 2 :(得分:0)
x
不是骰子,即random.randint(1,6)
。因此,在x = random.randint(1,6)
之后,x
存储单个骰子的 result (发生得较早),并且可以在将来的任何时候提供该单个结果。因此x
存储一个数字,而不是存储它应该随机生成的事实。
如果您想要一个用于掷骰子的功能,则第一次尝试将是def
:
def diceroll():
return random.randint(1,6)
具有此功能的所有后续print(diceroll())
(请注意,这是一个函数调用diceroll()
)将打印不同滚动的结果(并且可能仅因巧合而相等)。或者,您可以将单个骰子的结果再次存储为x=diceroll()
,以便将来可以重复使用(假设您要将其与用户的猜测进行比较并打印出来)>
侧面说明:从技术上讲,您也可以将函数存储在变量中,x=diceroll
将存储该函数,因此x
不是数字,而是掷骰子的动作,必须是称为print(x())
之类的函数。
答案 3 :(得分:0)
如果要在不同时间产生不同的数字,则必须使用种子值。这是一个示例说明:
import random
random.seed( 3 )
print "Random number with seed 3 :", random.random() #will generate a random number
#if you want to use the same random number once again in your program
random.seed( 3 )
random.random()
我不会为您制作程序。我已经向您解释了这个概念。现在只需实施即可。