[英]Rolling dice script Python
感谢您阅读本文。
我试图“重置”下面的脚本,每次用户在掷骰子句子上回答“否”时,脚本都会回到开头。 但是,我不知道出了什么问题。 该脚本包括选择您要滚动的骰子并获得一个随机数。 现在,我无法运行脚本,不再工作了。
import random
def d4():
rolagemD4 = str(random.randint(1, 4))
retorno = input("resultado do d4: " + rolagemD4 + "\n Gostaria de rolar outro D4, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD4 = 0
d4()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def d6():
rolagemD6 = str(random.randint(1, 6))
retorno = input("resultado do d6: " + rolagemD6 + "\n Gostaria de rolar outro D6, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD6 = 0
d6()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def d8():
rolagemD8 = str(random.randint(1, 8))
retorno = input("resultado do d8: " + rolagemD8 + "\n Gostaria de rolar outro D8, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD8 = 0
d8()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def d10():
rolagemD10 = str(random.randint(1, 10))
retorno = input("resultado do d10: " + rolagemD10 + "\n Gostaria de rolar outro D10, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD10 = 0
d10()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def d12():
rolagemD12 = str(random.randint(1, 12))
retorno = input("resultado do d12: " + rolagemD12 + "\n Gostaria de rolar outro D12, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD12 = 0
d12()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def d20():
rolagemD20 = str(random.randint(1, 20))
retorno = input("resultado do d20: " + rolagemD20 + "\n Gostaria de rolar outro D20, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD20 = 0
d20()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def d100():
rolagemD100 = str(random.randint(1, 100))
retorno = input("resultado do d100: " + rolagemD100 + "\n Gostaria de rolar outro D100, Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagemD100 = 0
d100()
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def principal():
print("Gostaria de jogar dados? : ")
print("1: dado de 4 faces")
print("2: dado de 6 faces")
print("3: dado de 8 faces")
print("4: dado de 10 faces")
print("5: dado de 12 faces")
print("6: dado de 20 faces")
print("7: dado de 100 faces \n")
print("8: Não quero jogar dados")
choice = input()
principal()
if choice == "1": d4()
if choice == "2": d6()
if choice == "3": d8()
if choice == "4": d10()
if choice == "5": d12()
if choice == "6": d20()
if choice == "7": d100()
if choice == "8": exit()
else :
print ("Opção Não cadastrada, selecione uma válida \n")
principal()
import random
def d(face):
rolagem = str(random.randint(1, face))
retorno = input("resultado do d"+str(face)+": " + rolagem + "\n Gostaria de rolar outro D"+str(face)+", Sim(S) ou Não(N)?")
if (retorno == "S") or (retorno == "Sim") or (retorno == "sim"):
rolagem = 0
d(face)
if (retorno == "N") or (retorno == "Não") or (retorno == "Nao") or (retorno == "nao"):
principal()
def principal():
print("Gostaria de jogar dados? : ")
faces=[4,6,8,10,12,20,100]
for index,value in enumerate(faces):
print(str(index+1)+": dado de "+str(value)+" faces")
print("8: Não quero jogar dados"+"\n")
choice = int(input("Pick one"))
print(choice)
if 1<= choice <8:
d(faces[choice-1])
else if choice ==8:
exit()
else :
print ("Opção Não cadastrada, selecione uma válida \n")
principal()
您可以对其进行返工,以便您只需要 1 function 就可以通过面值。 选择后的 principal() 进行了无限循环。 为所有面孔制作了一个列表,以便您可以访问它们
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.