python:如何将y打印为x的函数?

时间:2018-12-26 10:07:08

标签: python python-3.x

我有一个较大的代码,为此我需要解决一个小问题,因此我制作了仅包含该问题的测试脚本。

如何更改打印的内容 4 9 16 25 36 现在它打印 4 4 4 4 4

x = 2
y = x**2

for i in range(5):
    print(y)
    x += 1

5 个答案:

答案 0 :(得分:6)

创建一个函数!

x = 2

def y(x):
    return x**2

for i in range(5):
    print(y(x))
    x += 1

如果您想要更精致,更冗长的内容,但又有点不可读(尽管在这种情况下,由于功能太短,我还是建议您这样做),您也可以使用lambda:

y = lambda x: x**2

这些语句是等效的

答案 1 :(得分:0)

您可以将其包装在列表理解中

x = 2
[(x+i) ** 2 for i in range(5)]
[4, 9, 16, 25, 36]

答案 2 :(得分:0)

我想你想要这样。

  

x = 2

     

def Square(x):

     
    

y = x ** 2

         

打印(y)

  
     

对于范围(5)中的i:

     
    

平方(x)

         

x + = 1

  

您使用了数学方程式,但是使y为全局变量。 因此,如果您想每次插入一个值并获得新的结果,则应定义自己的函数。使用已经创建的内容也很好。

我希望无论如何都会有帮助。

答案 3 :(得分:0)

另一种方法可能是:

用两个参数定义一个函数。列表范围的下限和上限。然后返回带有这些数字平方的列表。

def squared(start, upper):
    return [n**2 for n in range(start, upper)]

print squared(2, 10)

但是,如果您只需要一个函数来返回给定的输入平方,则:

def squared(x):
    return x**2

print squared(10)

答案 4 :(得分:0)

x = 2
for i in range(5):
   y = x**2
   print(y)
   x += 1 

说明:您一次只计算了y。根据您的要求,每当x更改时都应进行计算。因此添加为循环。