我是Python的新手,我现在正在免费在线课程。
我一直试图弄清楚如何编写在我的课程中找到的这个简单的可选问题:
我为范围7创建了一个变量,并为循环中使用的产品创建了一个变量:
x = 7
product = 0
for item in range(x):
这就是我被困住的地方。 我在循环中尝试的事情如下:
product = item * item
甚至没有任何意义。我现在有一个完整的心理障碍。我意识到这应该是一件容易的事,但不能出于任何原因。我已经尝试过制作“number”和“previous_number”等其他变量来让事情变得更轻松,但我感到很困惑。
我需要在此解决方案中使用for循环。我现在只是不理解逻辑。解决方案和解释会很棒!请帮忙!
答案 0 :(得分:2)
您需要初始化product = 1
(因为1
是乘法身份)并且在您的循环中只需要:
product *= item
这是简写:
product = product * item
在python中还有一个reduce
函数来处理这些类型的问题:
In []:
import operator as op
import functools as ft
x = 7
ft.reduce(op.mul, range(1,x+1))
Out:
5040
答案 1 :(得分:0)
尝试这样的事情:
x = 7
product = 1
for item in range(1, x + 1):
product = item * product
print(product)
请注意,产品从1开始,范围功能也从1开始。否则,项目将继续乘以零。
答案 2 :(得分:0)
检查出来:
answer = 1
for i in range(1,8):
print("Right now, answer is", answer)
print("Right now, i is", i)
print("I am going to multiply answer ({}) with i ({}) and store the result in answer".format(answer, i))
answer = answer * i
print("Now, answer is", answer)
print("Finally, answer is", answer)
答案 3 :(得分:0)
digit = range(1,8)
print("digit", list(digit))
product = 1
for item in digit:
product = product * item
print("product is",product)
答案 4 :(得分:0)
var strings2 = ["a", "b", "c", "d"]
if strings2.isEmpty {
print("empty")
}
else {
print("populated") // populated
}
strings2.insert("a", at: 0) // Insert, not replace
print(strings2.removeAtIndex(0)) // a