我刚刚开始使用python。有人可以解释以下代码片段的第2行吗?我不明白`num`
位。我尝试用一个勾选'
替换反引号字符,但随后它就破了。只需对该行进行详细解释即可。
loop_count = 1000000
irn = ''.join([`num` for num in range(loop_count)])
number = int(irn[1]) * int(irn[10]) * int(irn[100]) * int(irn[1000]) * int(irn[10000]) * int(irn[100000]) * int(irn[1000000])
print number
答案 0 :(得分:10)
反引号是repr()
内置函数的弃用别名,因此第二行等效于以下内容:
irn = ''.join([repr(num) for num in range(loop_count)])
这使用列表推导来创建表示数字的字符串列表,然后使用''.join()
将该字符串列表组合成单个字符串,因此这等同于以下内容:
irn = ''
for num in range(loop_count):
irn += repr(num)
请注意,我在这里使用repr()
与反引号一致,但是您通常会看到str(num)
来获取int的字符串表示(它们恰好相同)。
答案 1 :(得分:2)
for num in range(loop_count)
遍历从零开始到排除1,000,000 num
使用repr()
函数将每个数字转换为字符串。''.join(...)
将所有这些字符串合并为一个,而它们之间没有任何分隔符。irn = ...
将结果存储在irn
。