我想用for循环计算(1+1+1+…+1)^2的和,但是用一个变量n作为上界,这样求和就得到了一个函数f(n)=n^2。使用非负整数x作为输入,可以很容易地将循环编码为
p==0
def f(x):
global p
for i in range(0,x):
p=p+1
return p**2
我想给这种循环输入一个字符串n。这是否可行(有或没有修改)?我一定要把弦转换成交响乐吗?你知道吗
编辑:哇,我把这个问题写得很糟糕。我猜睡眠毕竟很重要
假设我有一个函数f(x),其中
f(1) = 1
f(2) = f(1+1) = (1+1)^2 = 4
f(3) = f(1+2*1) = (1+2)^2 = 9
那么,f(n)就是
f(n) = f(1+(n-1)*1) = (1+(n-1))^2 = n^2
如果我用上面的for循环计算结果(这是由于睡眠不足造成的混乱),我会输入f(1),f(2),f(3),。。。到上面的for循环。我在问是否可以在上面的for循环中输入n,不管是否修改,然后得到n^2。你知道吗
(f(1),f(2),。。。这和我现在遇到的问题不一样——我只是想知道这个想法是否可行,如果可行,怎么可能。如果我直接问这个问题,我什么也学不到,是吗?)你知道吗
edit2:上述算法的输入/输出示例:
(整数输入)
f(1) = 1^2
f(2) = 2^2
f(423) = 423^2
(浮动输入)
f(0.5) = (0.5)^2
f(1.5) = (1.5)^2
f(234.23) = (234.23)^2
(字符串输入-不首先为这些字符串指定整数/浮点值)
f(a) = a^2
f(df) = (df)^2
f(the_speed_of_an_unladen_swallow) = (the_speed_of_an_unladen_swallow)^2
我的目标是对上面的循环进行修改,以便我可以这样做,对于f(a),其中f是上面的函数:
def g(a):
return f(a)
或其等效物。你知道吗
我要把这个留在这里,因为我现在看起来不像一个睡眠不足的大学生,更像一个睡眠不足的智障大学生。你知道吗
你写道:
因此,有一些变量(
a
、df
、the_speed_of_an_unladen_swallow
),它们在调用f
时还不包含(好的)值。稍后,它们会有一个数值,您希望在函数中循环多次。你知道吗由于具有基元数据类型的变量是按值传递的,因此必须传递变量的名称才能执行类似的操作。你知道吗
也许这就是你要找的东西?你知道吗
你想做类似
def('123')
的事情吗?你知道吗如果是这样,请在
range
中使用字符串之前将其强制转换为int,如下所示:相关问题 更多 >
编程相关推荐