2016-05-29 2 views
-1

Привет, парень. Я пытаюсь написать здесь программу python, и сейчас я просто изучаю. то, что я пытаюсь сделать, это заставить пользователя ввести 6-значное число, и если они вводят число, которое не равно 6 цифрам, я хочу, чтобы сообщение об ошибке указывало, что они должны ввести 6-значное число. У меня есть функция, называемая def example_check_message(m):, где я сказал, что номер должен быть 6 цифр, и у меня есть функция, называемая def example_get_number():, когда пользователь вводит номер, который функция get number должна вызывать функцию def example_check_message(m), чтобы проверить введенное число, но ничего нет. происходит. Я знаю, что я близок к этому, но просто не могу понять, где я ошибаюсь.Программа Python для чтения входов функций

def example_check_message(m): 

    b = False, 
    try: 
     if m == int >= '100000' and '<1000000': 
      b = True 
    except: 
     print 'You must enter a number' 

    return b 


def example_get_number(): 
    example_check_message(1) 
    b = False 

     while b == False: 
      num = raw_input('Please enter a 6 digit number:') 

      if example_check_message(num) == True: 
       b = True 
       continue 
      value = int(num) 
      return value 


if __name__ == '__main__': 
    example_check_message(1) 
    example_get_number() 
+1

Что это должно делать «m == int> = '100000' и '<1000000':"? В этой части кода есть как минимум 3 разных типа ошибок. вы, вероятно, имели в виду '1e6 <= int (m) <1e7' – lejlot

+0

отступ блока' while b == False', несомненно, приведет к ошибке. –

+0

Этот цикл 'while' никогда не будет повторяться несколько раз, делая его бессмысленным. – interjay

ответ

0

Я думаю, что вы хотите что-то вроде:

def example_check_message(m): 
    try: 
     m = int(m) 
     if m >= 100000 and m < 1000000: 
      return m # <- return something useful! 
    except: 
     print 'You must enter a number' 
    return False 

но есть ошибки в этом - плохо дать вам некоторый намек где. это не должно работать как есть, вам все равно придется выполнять некоторую работу и обучение.

def example_get_number(): 
    example_check_message(1) 
    b = False 

    while b == False: # not b is the right way here 
     num = raw_input('Please enter a 6 digit number:') 

     if example_check_message(num) == True: # This could be simpler 
      b = True 
      continue # <- no need to continue here, just return 
     value = int(num) # <- do this already on the input! 
     return value 
+0

Спасибо, что вам нужна помощь, я думал, что был намного ближе, чем я. я просто учась, но это выглядит как кошмар, и мне трудно найти хорошие учебники по нему. – user6396577

+0

Я бы посоветовал вам не нужны учебные пособия - вам нужно некоторое упорство. по очереди, подумайте о том, что делает каждая вещь. если вы все еще учитесь, это будет некоторое время, прежде чем вы сможете написать функцию так же, как вы можете написать абзац естественного языка. – domoarrigato

+0

Спасибо, что ценю, что ты вернулся. – user6396577

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