Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分配职位_Python_Variable Assignment_Assign - Fatal编程技术网

Python 分配职位

Python 分配职位,python,variable-assignment,assign,Python,Variable Assignment,Assign,我做了4份书面陈述,得到了1份与其他人不同的答案。有人能解释一下“0”的答案吗。 另外,如果“product=1”放在“for i in”的前面,那么循环只运行1次,我也不理解 s = "73167176531330624919225119674426..." # 1000 digit number largestProduct = 0 for i in range(0, len(s) - 13): product = 1 for j in range(i, i + 13)

我做了4份书面陈述,得到了1份与其他人不同的答案。有人能解释一下“0”的答案吗。 另外,如果“product=1”放在“for i in”的前面,那么循环只运行1次,我也不理解

s = "73167176531330624919225119674426..." # 1000 digit number

largestProduct = 0
for i in range(0, len(s) - 13):

    product = 1

    for j in range(i, i + 13):
        product *= int(s[j])

    if product > largestProduct:
        largestProduct = product
        print(product)
        print(largestProduct)

print(product)
print(largestProduct)

>> answers
23514624000
23514624000
0
23514624000

关于您的第一个问题(1)为什么在外观之后为产品打印零?

您没有打印完整字符串
s
,但我假设您在最后13位中至少有一个零。如果有一个零,它将导致整个产品为零

(2)如果产品高于第一个for循环,为什么它只运行一次? 这里有两件事结合在一起: -该乘积只被初始化一次,因此下一个数与最后一个结果相乘 -您在
14
处有一个零,因此执行一次后,乘积将乘以零,最终结果为零,它将永远不会大于
最大乘积


例如,在第一次迭代中,
product=1
与它们相乘后,它是
5000940
,这比
largestProduct
大,因此它被写入命令行。接下来,最后一个数字是零,乘积不再设置为1,而是保留上一个值,与零相乘后,乘积为零,无论下一个数字是什么,它都将保持为零。

欢迎使用SO!不幸的是,您的代码不允许重现问题。请确保在提交问题时提供答案。您想表达什么?