Python 'height' 未定义

Python 'height' is not defined

Python 是说名称 'height' 未定义,我不知道为什么会这样,根据我的逻辑,我 return 变量高度,所以我可以在我的 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()

首先,您需要使用 hight = raw_input("What is your hight") 来获取您的身高。然后您可以使用 int(height) 将其用作整数。其次,你需要让它成为自上而下的处理。

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("")
  1. get_int 不存在
  2. 高度超出范围
  3. while 循环的高度在 def 范围内不可见
  4. get_height 没有参数
  5. for in range 超出了主要范围