我希望有人能解释“n”和“digit”之间的逗号的作用。while n > 0: n, digit = divmod(n, 10) total_sum = total_sum + digit ** 2return total_sum我见过逗号在其他情况下使用,并且一直认为,在这种情况下,它意味着 n 和 digital 等于 divmod(n, 10)。我试图查看代码是否仍然有效,但它不起作用,所以情况似乎并非如此。谁能解释一下n和数字之间的逗号表示什么?
5 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
Python赋值语句不仅支持单独赋值,还支持对目标列表的赋值。这通常称为解包,因为骑行端可迭代的元素被提取并分配给目标列表的名称。
>>> a, b = 1, 2
>>> print(a)
1
>>> a, b = range(2)
>>> print(a)
0
具体来说,该divmod(a, b)函数返回一个 的元组a // b, a % b。分配给两个目标会将每个项分配给一个单独的变量。
>>> div, mod = divmod(1024, 10)
>>> print(div)
102
>>> print(mod)
4
Helenr
TA贡献1780条经验 获得超4个赞
divmod 是除法和模式,它返回除法的结果和数字的余数(这里n是数字,10是除数)
n, digit = divmod(10,3)
n = 3
digit = 1
10除以3,结果是3,余数是1
桃花长相依
TA贡献1860条经验 获得超8个赞
它翻译为:
“我希望该divmod函数返回的内容n恰好有两个部分,通过将这两个部分放入名为和的变量中可以节省一些时间digit”。
返回divmod两个数字。虽然你可以这样做:
x = divmod(n, 10)
n = x[0]
digit = x[1]
上面的一行字要好得多。
另外,你可以做这样的事情:
ls = ["myValue"]
(value,) = ls
print(value) #prints: myValue
从具有单个元素的列表中解压缩值。
添加回答
举报
0/150
提交
取消