Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Lescet avatar Lescet 25 Точки

Python Basics (октомври 2018) - неточност във видеото за Условни конструкции

В една част от видеото, лекторът говори за "живот на променливите", като го показва и със задача, като обяснява следния код:

 

import math

figure_type = input()
area = 0
if figure_type == 'square':
    side = float(input())
    area = side  * side
elif figure_type == 'rectangle':
    side_a = float(input())
    side_b = float(input())
    area = side_a * side_b
elif figure_type == 'circle':
    radius = float(input())
    area = math.pi * (radius ** 2)
else:
    length = float(input())
    height = float(input())
    area = (length * height) / 2

print(area)

И казва как е неправилно, ако променливата area не се инициализира извън If statements, но това не е така, защото тук няма стандартен случай, при който да изгърми кода, тъй като има else, в презентацията е представен друг пример с две променливи и if/else, като след if statements се принтират и двете променливи и винаги ще изгърми, тъй като няма как и двете променливи да са сетнати, но с този пример в случая е грешно да се обяснява въпросният казус, тъй като ще работи и без `area = 0`

Тагове:
0
Programming Basics 10/03/2019 01:09:14
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

значи я по-добре седни и изгледай пак че нищо не си разбрал/разбрала :Д 

ако го нямаш това area=0; area каот ти излезе извън if else ще изчезне няма да съществува за компилатора и ще печаташ undefined  или другия вариант е в всеки if else да си слагаш print(area) което не е забавно и е лоша практика.

ти нямаш {} но тяхната роля я играят tabs и идентацията та да логиката е същата и правилно е обяснено,а  ти не си разбрал/разбрала какво ви се казва.

0
Lescet avatar Lescet 25 Точки

Кое не съм разбрал?
 

import math

figure_type = input()

if figure_type == 'square':
    side = float(input())
    area = side  * side
elif figure_type == 'rectangle':
    side_a = float(input())
    side_b = float(input())
    area = side_a * side_b
elif figure_type == 'circle':
    radius = float(input())
    area = math.pi * (radius ** 2)
else:
    length = float(input())
    height = float(input())
    area = (length * height) / 2

print(area)

Това парче код работи идеално и без да има преинициализирана променливата area = 0... print е извън условните конструкции?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.