我的教授希望我们解决这个代码和其他几个手工类似的代码。由于我是新来的节目我不知道该怎么做的一切,我完全失去了Python-手工解决代码?
num = 0
for i in range(2,5):
for j in range(-1, 1):
num = num*j + i
print("i =", i, "j =", j, "num =", num)
我的教授希望我们解决这个代码和其他几个手工类似的代码。由于我是新来的节目我不知道该怎么做的一切,我完全失去了Python-手工解决代码?
num = 0
for i in range(2,5):
for j in range(-1, 1):
num = num*j + i
print("i =", i, "j =", j, "num =", num)
我采取在刺这个。
for i in range(2,5):
for j in range(-1, 1):
转化为
-1,0
-1,0
-1,0
为什么? for循环说:“对于范围在2到5之间的每个数字(不包括5),做一些事情” 这是另一个循环。
“对于2号,给我的-1到1(不包括1)的范围内。
之后其只是一些基本的数学。
NUM = 0 * 1 + 2 = 2(NUM的新值现在是2,而不是原来0,记住这要下一个迭代)
NUM = 2 * 0 + 2 = 2
NUM = 2 * -1 3 = 1
etc
这里是我将遵循程序:
#A
num = 0
#B
for i in range(2,5):
for j in range(-1, 1):
#C
num = num*j + i
#D
print("i =", i, "j =", j, "num =", num)
#E
i = 2, j = -1, num = 2
如何在C中的“j”变为“0” – 2014-11-21 00:14:34
@Caroline Rodgers:在E之后,我们回到C,因为for循环还没有结束。首先''为j'循环正在递增j。 'range(-1,1)'表示整数'-1 <= j <1',前一个值为-1,所以下一个值为0.不再有j的值,所以下一次在C中,我会增加(从2到3),并且j将从-1重新开始。 – pts 2014-11-21 00:17:04
我会这样做。
这是你的代码:
num = 0
for i in range(2,5):
for j in range(-1, 1):
num = num*j + i
print("i =", i, "j =", j, "num =", num)
range(2, 5) = [2, 3, 4]
和range(-1, 1) = [-1, 0]
,所以:
num = 0
for i in [2, 3, 4]:
for j in [-1, 0]:
num = num*j + i
print("i =", i, "j =", j, "num =", num)
现在,对于第一次迭代,i = 2
,j = -1
和num = 0
,所以:
num = 0 * -1 + 2 = 0 + 2 = 2
^^^
| | |
num j i
因此,打印语句print("i =", i, "j =", j, "num =", num)
将打印以下:
"i = 2 j = -1 num = 2"
对于第二次迭代,i = 2
,j = 0
和num = 2
,所以:
num = 2 * 0 + 2 = 0 + 2 = 2
^^^
| | |
num j i
因此,打印语句print("i =", i, "j =", j, "num =", num)
将打印以下内容:
"i = 2 j = 0 num = 2"
对于第三次迭代,i = 3
,j = -1
和num = 2
,所以:
num = 2 * -1 + 3 = -2 + 3 = 1
^^^
| | |
num j i
因此,打印语句print("i =", i, "j =", j, "num =", num)
将打印以下:
"i = 3 j = -1 num = 1"
共打印陈述如下:
"i = 2 j = -1 num = 2"
"i = 2 j = 0 num = 2"
"i = 3 j = -1 num = 1"
"i = 3 j = 0 num = 3"
"i = 4 j = -1 num = 1"
"i = 5 j = 0 num = 4"
您的教授在课堂上没有教您这个吗?你有任何讲课笔记吗?你读过哪些书?你问过你的教授吗? – pts 2014-11-21 00:01:36
阅读此:https://docs.python.org/2/tutorial/controlflow.html#for-statements – user3885927 2014-11-21 00:03:28
解决手工似乎是一个很好的技能,但如果你不应该运行它,你可能不要在互联网上问(亲切地)陌生人:)查找Python for循环,打印语句,赋值语句和范围函数,开始 – 2014-11-21 00:04:09