Уведомления

Группа в Telegram: присоединиться

#1 Сен. 16, 2018 21:51:17

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

Вложенные конструкции If Elif Else

Всем доброго времени суток!
Только начал изучать змея, решил сделать прогу определяющую индекс массы тела, потом её усложнил с помощью вложенных конструкций и так и не понял почему не работает и возникают ошибки. Помогите разобраться, код приведен ниже (python3).
Попутно есть несколько вопросов:
Обязательно ли при наличии условий с elif заканчивать блок с помощью else? (есть альтернатива для четкого написания инструкций м.б. что-то вроде end if ?)
В форточке часто прога завершается моргнув результатом… не всегда помогает написать какой-н raw_input , import os + os.system('pause') объясните какие ещё способы есть (+ в каких случаях их лучше применять) и как работает тот же пресловутый raw?
Хочу попробовать перевести эту прогу на рельсы андроида, куда копать, что ставить, в т.ч. для GUI (так и не нашел ясного руководства, рекомендуют бульдозеры и т.п.)? (Linux\Windows)

 #index of weight Ketle
import os
sex = input("Укажите свой пол: ")
age = int(input("Укажите свой возраст: "))
growth = float(input("Введите свой рост: "))
weight = float(input("Введите свой вес: "))
inwe = round(weight/(((growth/100)**2)), 2)
#print("Индекс массы тела: " + inwe)
#os.system('pause')
if (age < 18):
	print("Вы слишком молоды!")
elif (18 < age < 25):
	if (inwe < 17.59):
		print("Дефицит массы тела! Анорексия!")
	elif (17.59 < inwe < 18.59):
		print("Недостаточная масса тела!")
	elif (18.59 < inwe < 22.99):
		print("Норма")
	elif (22.99 < inwe < 27.49):
		print("Избыточная масса тела")
	elif (27.49 < inwe < 29.99):
		print("Ожирение!")
	elif (29.99 < inwe < 34.99):
		print("Резкое ожирение!")
	else:
		print("Очень резкое ожирение! Сплошной кусок жира!!!")
else:
	if (inwe < 17.59):
		print("Дефицит массы тела! Анорексия!")
	elif (17.59 < inwe < 18.59):
		print("Недостаточная масса тела!")
	elif (18.59 < inwe < 25.99):
		print("Норма")
	elif (25.99 < inwe < 27.99):
		print("Избыточная масса тела")
	elif (27.99 < inwe < 30.99):
		print("Ожирение!")
	elif (30.99 < inwe < 35.99):
		print("Резкое ожирение!")
	else:
		print("Очень резкое ожирение! Сплошной кусок жира!!!")
os.system('pause')

Офлайн

#2 Сен. 16, 2018 22:14:42

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

Вложенные конструкции If Elif Else

Tochpad
Попутно есть несколько вопросов:Обязательно ли при наличии условий с elif заканчивать блок с помощью else?
Не обязательно, обязательно только в том случае если необходимо чтоб какоето действие выполнилось если не одно из условий не соблюдено.

В форточке часто прога завершается моргнув результатом… не всегда помогает написать какой-н raw_input , import os + os.system('pause') объясните какие ещё способы есть (+ в каких случаях их лучше применять) и как работает тот же пресловутый raw?
Надо запускать из консоли, тогда будет видно где ошибка, а программа так себя ведет когда в ней ошибка возникает.
Тоесть запустить консоль , и в ней python script.py

Офлайн

#3 Сен. 16, 2018 22:35:49

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

Вложенные конструкции If Elif Else


BM21
Надо запускать из консоли, тогда будет видно где ошибка, а программа так себя ведет когда в ней ошибка возникает.
Тоесть запустить консоль , и в ней python script.py
а если показывает правильный результат и сразу закрывается, это тоже ошибка? или это особенность какая?
Зачем писать python script.py если достаточно написать python? в чем прикол? это типа отладчик и что?

Офлайн

#4 Сен. 17, 2018 09:29:14

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

Вложенные конструкции If Elif Else

Tochpad
Зачем писать python script.py если достаточно написать python? в чем прикол? это типа отладчик и что?


Прикольно. А вот допустим, написал ты супер-пупер программу на питоне, программа на 100500 строк, и теперь хочешь, чтобы весь мир начал ей пользоваться. Вот как по-твоему конечный потребитель должен запустить эту программу на своем компьютере?

Офлайн

#5 Сен. 17, 2018 10:54:34

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

Вложенные конструкции If Elif Else


Papa_Svin
Прикольно. А вот допустим, написал ты супер-пупер программу на питоне, программа на 100500 строк, и теперь хочешь, чтобы весь мир начал ей пользоваться. Вот как по-твоему конечный потребитель должен запустить эту программу на своем компьютере?
для этого прогу можно перевсети в ехе и т.п.
как конкретно это относится к решению озвученной проблемы\особенности? другими словами что делает написанная команда в консольке python script.py ? (я, конечно, сегодня же проверю, но полагаю не лишним будет описать прям тут на форуме для других людей, да и для меня лишним не будет.)

Офлайн

#6 Сен. 17, 2018 11:43:04

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

Вложенные конструкции If Elif Else

Tochpad
для этого прогу можно перевсети в ехе и т.п.
нет, нельзя. Если по-вашему можно, расскажите мне как.
И, кстати, меня прям таки невероятно заинтриговало это и т.п.
можно, еще какой-нибудь пример, подразумевающийся внутри этого и т.п.
Tochpad
что делает python script.py
Очевидно, запускает интерпретатор питона с аргументом script.py

Tochpad
но полагаю не лишним будет описать прям тут на форуме для других людей, да и для меня лишним не будет.)
Да вы бы какую книжку почитали, что ли. Нельзя же начинать изучать новую для себя технологию прям сразу с форума - у вас будет слишком много вопросов.

Офлайн

#7 Сен. 17, 2018 16:09:07

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

Вложенные конструкции If Elif Else

Papa_Svin
нет, нельзя. Если по-вашему можно, расскажите мне как.
И, кстати, меня прям таки невероятно заинтриговало это и т.п.
можно, еще какой-нибудь пример, подразумевающийся внутри этого и т.п.
например с помощью cx_Freeze или pyinstaller. Под “и т.п.” подразумевается компиляция не в чистый единый exe, а например в ехе с отдельными файлами, чтоб ехе не так много весил.

Офлайн

#8 Сен. 17, 2018 16:09:56

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

Вложенные конструкции If Elif Else

Papa_Svin
Очевидно, запускает интерпретатор питона с аргументом script.py
а что даёт этот аргумент?

Офлайн

#9 Сен. 17, 2018 16:14:07

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

Вложенные конструкции If Elif Else

Papa_Svin
Да вы бы какую книжку почитали, что ли. Нельзя же начинать изучать новую для себя технологию прям сразу с форума - у вас будет слишком много вопросов.
Согласен, что это не совсем традиционный способ, но по крайней мере он работает. Но не надо думать что я ничего больше не смотрю\читаю.

Офлайн

#10 Сен. 18, 2018 00:21:53

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

Вложенные конструкции If Elif Else

BM21
python script.py
такой запуск из консольки не выкидывает из нее… спс. сначала не врубился что за “script.py”.

Отредактировано Tochpad (Сен. 18, 2018 00:31:31)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version