Python 'высота' не определена
Python говорит, что имя 'height' не определено, и я понятия не имею, почему это так, поскольку, согласно моей логике, я возвращаю переменную height, чтобы я мог получить к ней доступ в цикле for?
Может ли кто-нибудь указать мне правильное направление? Благодарю. Редактировать: get_int() - это функция внутри библиотеки cs50.
import cs50
def main():
print("Enter a number between 0 and 26: ", end="")
i = get_height("Enter height: ", end="")
def get_height():
while True:
height = get_int()
if height <= 0 or height >= 23:
break
return height
for i in range(height):
print(" " * (height - i), end="")
print("#" * (i + 2), end="")
print("")
if __name__ == "__main__":
main()
2 ответа
Решение
def get_int():
tx = input("Enter height: ")
if tx.isdigit():
return int(tx)
return None
def get_height():
while True:
height = get_int()
if height and height > 0 and height < 26:
return height
if __name__ == "__main__":
print("Enter a number between 0 and 26: ")
height = get_height()
for i in range(height):
print(" " * (height - i), end='')
print("#" * (i + 2), end='')
print("")
- get_int не существует
- высота была вне области
- высота в то время как петля не была видна из области видимости
- get_height получить без параметров
for in range
был вне основной сферы
Во-первых, вы должны использовать hight = raw_input("What is your hight")
чтобы получить свой рост. Вы можете использовать int(height)
использовать его как целое число. Во-вторых, вы должны иметь нисходящую обработку.