これは、昨日の質問に対するフォローアップの質問のようなものです。Pythonの初心者で、現在ZedShawのLPTHWを使用して自分自身を教えています。以下のコードは壊れており、RPGで使用するための乱数ジェネレーターを作成しようとしています。
from random import randint
name = raw_input('\n Hello there. Please Type in your name > ')
print """
Hello {} & welcome to the Random Number Generator by Ray Weiss.
""".format(name)
upper = int(raw_input('Enter the type of dice you want to roll > '))
n = int(raw_input("How many D{} you'd like to roll? ".format(upper)))
for _ in xrange(n):
print randint(1, upper)
prompt = """
Would you like to roll another D{}? Type 'yes', 'no', or 'quit'
""".format(upper)
answer = raw_input(prompt)
while answer == "yes":
for _ in xrange(n):
print randint(1, upper)
prompt = """
Would you like to roll another D{}? Type 'yes', 'no', or 'quit'
""".format(upper)
answer = raw_input(prompt)
if answer == "no":
upper = int(raw_input('Enter the type of dice you want to roll > '))
n = int(raw_input("How many D{} you'd like to roll? ".format(upper)))
for _ in xrange(n):
print randint(1, upper)
prompt = """
Would you like to roll another D{}? Type 'yes', 'no', or 'quit'
""".format(upper)
answer = raw_input(prompt)
if answer == "quit":
print """
Thank you {} for using the D{} RNG by Ray Weiss! Goodbye!
""".format(name, upper)
理想的には、私がやりたいことは、最初に私が欲しいサイコロの数と、転がしたいサイコロの数を尋ねることです。その後、同じダイと量をもう一度ロールするかどうかを尋ねたいのですが、「はい」と答えると、それが実行されます。私がノーと言った場合、私はそれを元に戻して、どちらのサイドダイと何人のダイをもう一度ロールしたいのかを尋ねます。
編集:このコードは少し良いと思いますが、それでも機能しません
from random import randint
def roll(sides, num_of_dices):
return [randint(1, sides) for i in range(num_of_dices)]
prompt = "> "
# Main Program
num_of_dices = input(prompt)
sides = input(prompt)
while True:
results = roll(sides, num_of_dices)
print results
s = input(prompt)
if s == 'quit':
break