2014-10-31 9 views
-3

Мне нужно закодировать функцию get_input, которая имеет проверку цикла, поэтому число не может быть меньше 0 Это программа. Я сделал это глобальной функцией, но мой инструктор сказал мне, что это неправильно. Создание get_input глобальная функция, кажется, работает, но мне нужно использовать средстваНужна помощь в определении функции в python

def get_input(): 

get_input() 

Ive было создание глобальной функции, как get_input = вход только потому, что я понятия не имею, как сделать то, что я писал выше, не адресности ошибка "глобальное имя не определено".

Любая помощь будет принята с благодарностью

get_input = input 

def main(): 
    pennies = get_input("Enter pennies : ") 
    nickels = get_input("Enter nickels : ") 
    dimes = get_input("Enter dimes : ") 
    quarters = get_input("Enter quarters : ") 

    print("You entered : ") 
    print("\tPennies : " , pennies) 
    print("\tNickels : " , nickels) 
    print("\tDimes : " , dimes) 
    print("\tQuarters : " , quarters) 


    total_value = get_total(pennies, nickels, dimes, quarters) 
    dollars = get_dollars(pennies, nickels, dimes, quarters) 
    left_over_cents = get_left_over_cents(pennies, nickels, dimes, quarters) 

    print("Total = $", total_value, sep="") 
    print("You have", dollars, "dollars and", left_over_cents, "cent(s)") 

main() 
+0

Пожалуйста, покажите один или более из ваших попыток, и мы сможем помочь вам. –

+0

Итак, где * * ваше определение 'get_input'? В том, что вы опубликовали, нет синтаксических ошибок. Вы можете найти [это] (http://stackoverflow.com/q/23294658/3001761) полезным. – jonrsharpe

+0

Вы добавили больше объяснений, но до сих пор неясно, где вы определяете 'get_input'. Это будет проще, если вы можете опубликовать всю программу, включая определение 'get_input'. – Stuart

ответ

1

Похоже, вам нужно просто поместить все ваши заявления raw_input внутри функции get_input.

def get_input(currency): 
    currency = -1.0  
    while currency < 0: 
     try: 
      currency = float(raw_input("Enter %s: ", % (currency))) 
     except ValueError: 
      print "Invalid input!" 
      currency = -1.0 
      continue 
     if currency < 0: 
      print "Can't have negative money!" 
     else: 
      return currency 

def main(): 
    pennies = get_input("pennies") 
    nickles= get_input("nickles") 
    dimes= get_input("dimes") 
    quarters= get_input("quarters") 

Тогда так с вашей программой

+0

Ошибка синтаксиса в строке currency = float (raw_input ("Enter% s:",% (currency))) – Joe

+0

Я написал это из памяти. Выньте эту запятую, и все должно быть в порядке. – anon

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