可以将以下代码写成一行:
for num in range(2000, 3201):
if num % 7 == 0 and num % 5 != 0:
nums.append(str(num))
我想到了:
(nums.append(str(num))) for num in range(2000, 3201) if (num % 7 == 0) and (num % 5 != 0)
但它不起作用
答案 0 :(得分:2)
您几乎完全正确,例如没有将其添加到列表理解中:
nums=[str(num) for num in range(2000, 3201) if (num % 7 == 0) and (num % 5 != 0)]
答案 1 :(得分:0)
应该是
[str(num) for num in range(2000, 3201) if num % 7 == 0 and num % 5 == 0]
答案 2 :(得分:0)
请注意,if num % 7 == 0
等效于if not num % 7
,if num % 5 != 0
等效于if num % 5
nums = [str(num) for num in range(2000, 3201) if not num % 7 and num % 5]