Я очень смутился с использованием функций и словарей. В книге, которую я использую для изучения питона, есть пример, но это не объясняет, почему автор написал это так. Вот почему я надеюсь, что кто-нибудь сможет объяснить мне, почему сценарий написан в этой форме. Вот сценарий:Значение вызова функции со словарями
def get_specials():
monday = {'B': 'Horseradish omelet. Note: better than it sounds', \
'L': 'Momma\'s curry. Note: can be made spicy.',\
'D': 'Beef brisket. Note: Comes with au jus. That\'s pronounced "Oh jhoo", not "Ow Juice"'}
tuesday = {'B': 'Sausage gravy over biscuits. Note: Toast can be subbed.',\
'L': 'Grilled cheese and tomato soup. Note: We have vegan cheese.',
'D': 'Meatloaf. Note: Comes with catsup on the top. Not optional.'}
wednesday = {'B': 'Horseradish omelet. Note: better than it sounds', \
'L': 'Momma\'s curry. Note: can be made spicy.',\
'D': 'Beef brisket. Note: Comes with au jus. That\'s pronounced "Oh jhoo", not "Ow Juice"'}
thursday = {'B': 'Horseradish omelet. Note: better than it sounds', \
'L': 'Momma\'s curry. Note: can be made spicy.',\
'D': 'Beef brisket. Note: Comes with au jus. That\'s pronounced "Oh jhoo", not "Ow Juice"'}
friday = {'B': 'Horseradish omelet. Note: better than it sounds', \
'L': 'Momma\'s curry. Note: can be made spicy.',\
'D': 'Beef brisket. Note: Comes with au jus. That\'s pronounced "Oh jhoo", not "Ow Juice"'}
saturday = {'B': 'Horseradish omelet. Note: better than it sounds', \
'L': 'Momma\'s curry. Note: can be made spicy.',\
'D': 'Beef brisket. Note: Comes with au jus. That\'s pronounced "Oh jhoo", not "Ow Juice"'}
sunday = {'B': 'Horseradish omelet. Note: better than it sounds', \
'L': 'Momma\'s curry. Note: can be made spicy.',\
'D': 'Beef brisket. Note: Comes with au jus. That\'s pronounced "Oh jhoo", not "Ow Juice"'}
specials = {'M': monday, 'T': tuesday, 'W': wednesday, 'R': thursday, 'F': friday, 'St': saturday, 'Sn': sunday}
return specials
def print_special(special):
print "The special is: "
print special
print "*"*15
def get_day():
while True:
day = raw_input("Day (M/T/W/R/F/St/Sb): ")
if day.upper() in ['M', 'T', 'W', 'R', 'F', 'ST', 'SN']:
return day.upper()
else:
print "I'm sorry, but {} isn't valid.".format(day)
def get_time():
while True:
time =raw_input("Time (B/L/D): ")
if time.upper() in ['B', 'L', 'D']:
return time.upper()
else:
print "I'm sorry, but {} isn't a valid time.".format(time)
def main():
specials = get_specials()
print "This script will tell you the specials for any day of the week, and any time."
while True:
day = get_day()
special = specials[day]
time = get_time()
print_special(special[time])
another = raw_input("Do you want to check another day and time? (Y/N)")
if another.lower() == 'n':
break
if __name__ == '__main__':
main()
Мои сомнения касаются главным образом раздела def main(). Может ли кто-нибудь объяснить мне, как все это называется? Заранее спасибо!!!
на основании unpythonic обратных косых черт, я рекомендую вам получить другую книгу. – jonrsharpe
Возможно, вас заинтересует http://learnpythonthehardway.org/book/ –
Наряду с обратными косыми чертами, которые совершенно не нужны, вся программа выглядит так, будто она была преобразована с какого-то другого языка или просто плоха.К сожалению, в мире слишком много плохих уроков. – msw