2015-10-14 2 views
0

У меня очень простой курс программирования уровня, и я изучаю функции. Мой код продолжает возвращать вызов «main()» в конце моей программы как синтаксическая ошибка. Я снова супер плохо на это, так что не судите все мои ошибкиmain() возвращается как недействительный синтаксис

def main(): 
    speed = int(input('Enter the speed of the vehicle in mph: ')) 
    while speed < 0: 
     print('Speed must be greater than zero') 
     speed = int(input('Enter a valid speed: ')) 
    time = int(input('Enter the number of hours traveled: ')) 
    while time < 0: 
     print('Time must be greater than zero') 
     time = int(input('Enter a valid time: ')) 
    show_travel(speed,time) 

def show_travel(speed,time): 
    print('Hours\tDistance Traveled') 
    print('----------------------------------------') 
    for time in range(1, time + 1): 
     distance = speed * time 
     print(format(time, "d"), format(distance, "20.2f") 
main() 

, когда я запускаю его он возвращается с основными Мелированным говоря Синтаксическую ошибку

+0

Вашего 'в то время как скорость <0:' операторы отступ один уровень с правой – karthikr

+0

выглядит вопросы отступов ... – alfasin

+0

где они должны быть? –

ответ

0

Есть несколько скобки и вопросы отступа. Попробуйте этот код. Для семантики это зависит от вас. Но с моим кодом нет ошибок.

def main(): 
    speed = int(input('Enter the speed of the vehicle in mph: ')) 
    while speed < 0: 
     print('Speed must be greater than zero') 
     speed = int(input('Enter a valid speed: ')) 
    time = int(input('Enter the number of hours traveled: ')) 
    while time < 0: 
     print('Time must be greater than zero') 
     time = int(input('Enter a valid time: ')) 
     showtravel(speed,time) 

def showtravel(speed,time): 

    print('Hours\tDistance Traveled') 
    print('----------------------------------------') 
    for hours in range(1, hours + 1): 
     distance = speed * time 
     print(format(hours, "d"), format(distance, "20.2f")) 
+0

как только я выясню, как lol –

+0

это говорит, что я должен подождать минуту –

+0

Теперь вы сможете это сделать. – intboolstring

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