2016-02-02 3 views
-1

Я знаю, что строка «goto Start» неверна, просто поместите ее туда, где я хочу, чтобы код возвращался к началу кода, но не может понять, как сделать это вообще. Пожалуйста, помогите ....Не могу понять, как сделать код «restart»

dsides = int(input("how many sides do your dice have?")) 
print("Your dice has " + str(dsides) +" sides") 

dint = int(input("How many dice do you want to roll?")) 
print("You are rolling " + str(dint) + " dice") 

import os 
answer=0 
import random 
y=0 

while(y < dint): 
    out = random.randint(1, int(dsides)) 
    print(str(out)) 
    y=y+1 



while (True): 
    answer = raw_input('Run again? (y/n): ') 
    if(answer in ("y", "n")): 
     if(answer == "y"): 
      goto start 
     else: 
      print("GoodBye") 
      break 
    else: 
     print ("Invalid input.") 
     break 

ответ

1

обернуть код в функцию и вызвать функцию:

def my_function(output=''): # <-- change 1 

    dsides = int(input("how many sides do your dice have?")) 
    print("Your dice has " + str(dsides) +" sides") 
    dint = int(input("How many dice do you want to roll?")) 
    import random 
    y = 0 
    while y < dint: 
     out = random.randint(1, int(dsides)) 
     output += "{} ".format(out) # <-- change 2 
     # print(str(output)) # <-- change 3 
     y=y+1 

    while True: 
     answer = raw_input('Run again? (y/n): ') 
     if answer in ("y", "n"): 
      if answer == "y": 
       my_function(output) # <-- recursive call 
      else: 
       print(output) # <-- change 4 
       print("GoodBye") 
       return 
     else: 
      print ("Invalid input.") 
      break 

Пример вывода:

how many sides do your dice have?6 
Your dice has 6 sides 
How many dice do you want to roll?6 
Run again? (y/n): n 
2 1 3 4 6 5 
GoodBye 
+0

спасибо, вы бы также иметь любую идею о как бы у меня получилось, чтобы результат кубика выглядел как «Roll Output: x, x, x, x, x»? – Obiehakerman

+0

@ Obiehakerman проверить изменения, которые я обновил в коде – alfasin

+0

Правильно Я внес эти изменения, но сценарий не будет запущен вообще ... – Obiehakerman

Смежные вопросы