Python 嵌套While循环存在问题
所以我使用嵌套的while循环来尝试和迭代这些函数,我不明白为什么在第二个循环中使用and等。循环通过第二个循环为什么它一直打印相同的数字,它应该在每个后续循环中都更大 老实说,我不知道我到底把什么搞砸了,如果有人能指出问题所在,我会非常感激的Python 嵌套While循环存在问题,python,python-3.x,Python,Python 3.x,所以我使用嵌套的while循环来尝试和迭代这些函数,我不明白为什么在第二个循环中使用and等。循环通过第二个循环为什么它一直打印相同的数字,它应该在每个后续循环中都更大 老实说,我不知道我到底把什么搞砸了,如果有人能指出问题所在,我会非常感激的 import math p = 1 n = 10 while n < 321: p = 1 while p < 129: T_serial = n ^ 2 T_parallel = (T_
import math
p = 1
n = 10
while n < 321:
p = 1
while p < 129:
T_serial = n ^ 2
T_parallel = (T_serial / p) + math.log(p)
speed = T_serial / T_parallel
effic = speed / p
result = speed / effic
print(result)
p *= 2
n += 10
导入数学
p=1
n=10
当n<321时:
p=1
而p<129:
T_serial=n^2
T_parallel=(T_serial/p)+math.log(p)
速度=T_串行/T_并行
效率=速度/p
结果=速度/效率
打印(结果)
p*=2
n+=10
以下内容向您展示了正在发生的事情:
import math
p = 1.0
n = 10.0
print "n\tp\tresult"
while n < 321.0:
p = 1
while p < 129.0:
#print "n", n, "p", p
T_serial = n**2.0
T_parallel = (T_serial / p) + math.log(p)
speed = T_serial / T_parallel
effic = speed / p
result = speed / effic
print "%s\t%s\t%s" % (n, p, result)
p *= 2.0
n += 10.0
查看effic
和result
的方程式。最后你还是这么做了
results = speed / effic = speed / (speed / p) = p
所以难怪这不是你所期望的。您每次只需打印
p
第一个while循环中出现缩进错误
import math
p = 1
n = 10
while n < 321:
p = 1
while p < 129:
T_serial = n ^ 2
T_parallel = (T_serial / p) + math.log(p)
speed = T_serial / T_parallel
effic = speed / p
result = speed / effic
print(result)
p *= 2
n += 10
导入数学
p=1
n=10
当n<321时:
p=1
而p<129:
T_serial=n^2
T_parallel=(T_serial/p)+math.log(p)
速度=T_串行/T_并行
效率=速度/p
结果=速度/效率
打印(结果)
p*=2
n+=10
很抱歉,这是由于我错误地将其放入stackoverflow,我将进行相应的编辑。我希望在p<129时,第二次lop的n=20而不是10,因为它在第一次循环中。另外,索引只是我将其添加到堆栈溢出中的错误。很抱歉。
import math
p = 1
n = 10
while n < 321:
p = 1
while p < 129:
T_serial = n ^ 2
T_parallel = (T_serial / p) + math.log(p)
speed = T_serial / T_parallel
effic = speed / p
result = speed / effic
print(result)
p *= 2
n += 10