我的教授希望我们解决这个代码以及其他一些手工相似的代码。由于我是编程新手,所以根本不知道如何做到这一点,我完全迷失了
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)
答案 0 :(得分:1)
我接受了这个。
for i in range(2,5):
for j in range(-1, 1):
转换为
2
-1,0
3
-1,0
4
-1,0
为什么呢? for循环表示"对于2到5(不包括5)范围内的每个数字,请执行SOMETHING" 这是另一个循环。
"对于数字2,给我-1到1的范围(不包括1)。
之后只是一些基本的数学。
num = 0 * -1 + 2 = 2(num的新值现在是2,而不是原来的0,请记住这将进入下一次迭代)
num = 2 * 0 + 2 = 2
num = 2 * -1 +3 = 1
等
答案 1 :(得分:1)
我会这样做。
这是你的代码:
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"
答案 2 :(得分:0)
以下是我将如何遵循该计划:
#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