Форум сайта python.su
Всем привет!
Нужно упростить, если такое возможно, данную программу.
Так же, если не очень трудно, объяснить было бы не плохо. Заранее спасибо!
#BbIbop mecRua no Homepy
months =
a = input(“Kakou mecRu uHmepecyem? ”)
if a < 1:
print “Hem makoro mecRua”
elif a == 1:
print (months)
elif a == 2:
print (months)
elif a == 3:
print (months)
elif a == 4:
print (months)
elif a == 5:
print (months)
elif a == 6:
print (months)
elif a == 7:
print (months)
elif a == 8:
print (months)
elif a == 9:
print (months)
elif a == 10:
print (months)
elif a == 11:
print (months)
elif a == 12:
print (months)
else:
print “Hem makoro mecRua”
Прикреплённый файлы: list.py (632 байта)
Офлайн
словарь упростит ваш код до трех строчек
Отредактировано marvellik (Март 3, 2018 20:31:34)
Офлайн
да вобщемто и без словаря можно упростить, хотя да, тут словарь проситься сам.
#!/usr/bin/python #BbIbop mecRua no Homepy months = ['mms','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] a = input("Kakou mecRu uHmepecyem? ") if 1 <= a <= 12: print months[a] else: print "Hem makoro mecRua"
[code python][/code]
Офлайн
поправочка
a = int(input("Kakou mecRu uHmepecyem? "))
Офлайн
Спасибо, люди! Пытался сделать как во втором решении, но нет опыта совсем. А оказалось все просто. И за словари спасибо, хоть узнал про них Спасибо вам еще раз!
Офлайн
marvellikА в чем разница? и так работает. Только проверил.
поправочка
Офлайн
Brickа ты введи например 2.5 в первом и втором варианте, сам увидиш.
А в чем разница? и так работает. Только проверил.
[code python][/code]
Офлайн
PEHDOMДа. Вижу. Это, как я понимаю, чтение только целого от введеного значения или что-то около того.
#!/usr/bin/python #BbIbop mecRua no Homepy months = ['mms','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] a = input("Kakou mecRu uHmepecyem? ") print months[a]
Отредактировано Brick (Март 3, 2018 20:55:02)
Офлайн
Brickдля питон 2.7 при вводе целых чисел будет работать а для 3 питона уже нет потому что input() получает строку а не число и сравннение if a < 1 с числом всегда будет False
А в чем разница? и так работает
Brickи что ошибку индекса не выдает?
Но сейчас и так работает, только нет ограничения в пределах (1,12)
Офлайн
marvellikЕсли вводить целые от 1 до 12, то ошибок не выдает. Python 2.7.12
Офлайн