Python'身高'没有定义

时间:2017-11-14 17:37:58

标签: python variables undefined cs50 defined

Python正在说名称' 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 个答案:

答案 0 :(得分:1)

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. 从def def中看不到while循环的高度
  4. get_height get no param
  5. for in range不属于主要范围

答案 1 :(得分:0)

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