Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2018 20:26:47

Brick
Зарегистрирован: 2018-03-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Как упростить?

Всем привет!
Нужно упростить, если такое возможно, данную программу.
Так же, если не очень трудно, объяснить было бы не плохо. Заранее спасибо!

#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”

Прикреплённый файлы:
attachment list.py (632 байта)

Офлайн

#2 Март 3, 2018 20:30:36

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как упростить?

словарь упростит ваш код до трех строчек

Отредактировано marvellik (Март 3, 2018 20:31:34)

Офлайн

#3 Март 3, 2018 20:35:34

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как упростить?

да вобщемто и без словаря можно упростить, хотя да, тут словарь проситься сам.

 #!/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]
Бериегите свое и чужое время.

Офлайн

#4 Март 3, 2018 20:38:03

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как упростить?

поправочка

 a = int(input("Kakou mecRu uHmepecyem? "))

Офлайн

#5 Март 3, 2018 20:41:14

Brick
Зарегистрирован: 2018-03-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Как упростить?

Спасибо, люди! Пытался сделать как во втором решении, но нет опыта совсем. А оказалось все просто. И за словари спасибо, хоть узнал про них Спасибо вам еще раз!

Офлайн

#6 Март 3, 2018 20:42:06

Brick
Зарегистрирован: 2018-03-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Как упростить?

marvellik
поправочка
А в чем разница? и так работает. Только проверил.

Офлайн

#7 Март 3, 2018 20:43:28

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как упростить?

Brick
А в чем разница? и так работает. Только проверил.
а ты введи например 2.5 в первом и втором варианте, сам увидиш.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#8 Март 3, 2018 20:50:20

Brick
Зарегистрирован: 2018-03-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Как упростить?

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]
но выдавалась ошибка. Я так и не понял из-за чего. Но сейчас и так работает, только нет ограничения в пределах (1,12)

Отредактировано Brick (Март 3, 2018 20:55:02)

Офлайн

#9 Март 3, 2018 21:06:01

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как упростить?

Brick
А в чем разница? и так работает
для питон 2.7 при вводе целых чисел будет работать а для 3 питона уже нет потому что input() получает строку а не число и сравннение if a < 1 с числом всегда будет False
Brick
Но сейчас и так работает, только нет ограничения в пределах (1,12)
и что ошибку индекса не выдает?

Офлайн

#10 Март 3, 2018 21:19:03

Brick
Зарегистрирован: 2018-03-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Как упростить?

marvellik
Если вводить целые от 1 до 12, то ошибок не выдает. Python 2.7.12

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version