2016-08-26 5 views
1

Создание программы, которая имеет список различных значков звезды, затем просит пользователя ввести какой знак звезды, а затем программа проверит, что содержится в списке, прежде чем перемещаться на.Пока цикл не повторяется после ввода информации в введенном

Проблема в том, что она проверяет, что она есть в списке, но она не повторяется.

play = True 

while play: 
    print("Welcome to my Pseudo_Sammy program, please enter your name, star sign and then your question by typing it in and pressing the enter key, and I will give you the answer to your question") 
    name = input("What do they call you? ") 
    starsigns = ("leo", "virgo", "libra", "scorpio", "sagittarius", "capricorn", "aquarius", "pisces", "aries", "taurus", "gemini", "cancer") 
    starsign = str(input("What star do you come from? ")).lower() 
    while True: 
     try:    
      if starsign in starsigns: 
       break 
      else: 
       raise 
     except: 
      print("Please enter a valid star sign") 
      question = input("What bothers you dear? ") 
+1

У вас есть разрыв в вашем времени, если звёздный звёзд в звёздах, это вырывается из цикла while, удаляет перерыв, вы также не должны бросать ошибки, как это, но вы узнаете, как вы идете, продолжай мой друг. –

+0

Ваш код имеет неправильный отступ. Чтобы задать здесь вопрос, нам нужно точно указать отступы. Вы можете скопировать/вставить код в поле [edit], а затем выбрать его и нажать ctrl-K, чтобы он был равномерно отступом для форматирования кода Markdown. – tripleee

ответ

0

если вы хотите повторить input, пока вы не получите правильный ответ, а ЗАТЕМ задать следующий вопрос, вам необходимо поместить 1-ый вход внутри while петли и 2-й вход вне цикла, как это:

starsigns = ("leo", "virgo", ...) 
starsign = None 
while starsign not in starsigns: 
    if starsign: 
     print("Please enter a valid star sign: {}.".format(", ".join(starsigns))) 
    starsign = input("What start do you come from? ").lower().strip() 
question = input("What bothers you dear? ") 
Смежные вопросы