并非在格式化字符串时转换了所有参数?

时间:2018-12-21 11:14:57

标签: python generator

print(*(i for index, i in enumerate(list(input(int()).split())) if i % 6 == 0 and (index+1) % 6 == 0), sep=' '`)

您可以看到我的代码,但问题出在以下错误:

  

TypeError:在字符串格式化期间并非所有参数都已转换

我该怎么办?

input:
1 2 3 4 5 6 7 8 9 10 11 12

output:
6 12

1 个答案:

答案 0 :(得分:1)

i是一个字符串。您需要在%操作之前将其转换为int

print(*(i for index, i in enumerate(list(input(int()).split())) if int(i) % 6 == 0 and index % 6 == 0), sep=' ')

此外,您上面发布的预期输出是错误的-在这种情况下为index = int(i) - 1(当i == 1index == 0时),因此iindex6的倍数