2016-10-13 4 views
0

Я новичок в программировании, и я создаю рулонный тип игры в кости. И я хочу создать команду, в которой, если пользователь вводит в Exit, весь скрипт будет печатать до конца и останавливаться. Я пробовал что-то вроде:Как остановить скрипт, если пользователь вводит определенные символы - PYTHON

commandLine = "Exit" 

if commandLine == "Exit". 
    print ("Bye!") 
    quit() 

Но он вообще не работает. Сценарий продолжится. Это будет мой сценарий:

import random 
from random import randint 
import re 


print ("Welcome to Roll the Dice") 

roll = input("Do you want to Roll the Dice? \n Yes/No \n") 

if roll == "Yes".lower(): 
    print("Nice , let`s do it!") 

elif roll == "No".lower(): 
    print("Too bad! :(See you later!") 
    quit() 

dice = input("Press 'x' to roll the dice!\n") 


if dice == "X".lower(): 
print(random.randint(1,9)) 

again = input("Sweet ! Would you like to try again?\n") 
while again == "Yes".lower(): 
    dice = input("Press 'x' to roll the dice!\n") 

    if dice == "X".lower(): 
     print(random.randint(1, 9)) 

    if again == "No".lower(): 
     print("See you later!") 
     quit() 
+1

В последней части вашей программы (внутри цикла while) вы никогда не спрашиваете пользователя, хотите ли они играть снова или нет. Поэтому, если они вводят «да», тогда значение снова всегда будет «да». –

+2

Как в стороне, у вас есть нижняя оболочка назад. Например, 'if dice ==" X ".lower():' - '" X ".lower()' является просто '' x "'. Вы должны сделать 'if dice.lower() ==" x ":' – tdelaney

ответ

0

попробовать:

while again == "yes": 
    dice = input("Press 'x' to roll the dice!\n") 

    if dice == "x": 
     print(random.randint(1, 9)) 

    if dice == "no": 
     print("See you later!") 
     quit() 
+0

Пожалуйста, объясните свой ответ. «try» недостаточно текстового объяснения. –

0
again = input("Sweet ! Would you like to try again?\n") 

while again == "Yes".lower(): 
    dice = input("Press 'x' to roll the dice!\n") 

    if dice == "X".lower(): 
     print(random.randint(1, 9)) 

    again = input("Sweet ! Would you like to try again?\n") 

if again == "No".lower(): 
    print("See you later!") 
    quit() 

Это должно исправить это!

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