Skip to main content
 首页 » 编程设计

python之Python 中的平方数序列

2025年05月04日13findumars

我是 python 的新手,我正在尝试编写一个代码来打印所有平方数,直到用户输入所需值的平方为止。

    n = raw_input("Enter number") 
 
    a = 1 
 
    while a < n: 
            a = 1 
            print(a*a) 
            a += 1 
            if a > n: 
            break 

当我运行这段代码时,它会无限打印“1”……我猜测 a 的值不会增加 +=,所以它是 a=1 永远。我该如何解决这个问题?

请您参考如下方法:

有一些问题。首先,您的输入(raw_input() 返回的)是一个字符串,因此您必须将其转换为整数:

n = int(raw_input(...)) 

其次,您正在设置 a = 1每次迭代,所以,因为循环条件是 a < n ,循环将永远运行(如果 n > 1)。您应该删除该行

a = 1 

最后,没有必要检查 a > n ,因为循环条件会处理它:

while a < n: 
    print a * a 
    a += 1 
 
    # 'if' is not necessary