私は関数(明らかにXDが本質的に苦手なもの)を使用しようとしており、最初からreturnステートメント情報を取得してから、2番目に使用しようとしています。どちらもサイコロを振るためのものなので、最初の関数で最初のセットを返し、それを 2 番目の関数で使用して、ユーザーに再ロールのオプションを提供します。元のダイエットリストを認識していないというこの実装で何が間違っていますか?
def rollDie():
die1 = 2
die2 = 2
die3 = 2
die4 = 4
die5 = 5
dieset = [die1,die2,die3,die4,die5]
print(dieset)
return dieset
def reRoll1():
rollDie()
reroll1 = input("Would you like to reroll? Yes or No: ")
if reroll1 == "no":
dieset = [die1,die2,die3,die4,die5]
else:
count = 0
times = int(input("How many die would you like to reroll? "))
while count < times:
whichreroll = input("Reroll die: ")
if whichreroll == "1":
die1 = random.randint(1,6)
else:
die1
if whichreroll == "2":
die2 = random.randint(1,6)
else:
die2
if whichreroll == "3":
die3 = random.randint(1,6)
else:
die3
if whichreroll == "4":
die4 = random.randint(1,6)
else:
die4
if whichreroll == "5":
die5 = random.randint(1,6)
else:
die5
dieset = [die1,die2,die3,die4,die5]
count += 1
print(dieset)
return dieset
reRoll1()
「割り当て前にローカル変数 'die1' が参照されました」と言っていますが、最初に rollDie() が来ます。誰かが私にこれを説明できれば、それは大歓迎です:D