小编Jay*_*gov的帖子

使用列表推导式解决 Collat​​z 猜想

有没有一种方法可以使用列表推导式来检验 Collat​​z 猜想,而无需使用 while 语句或其他方法将 n 值附加到 ls 中,而无需在每个语句后添加 ls ?

from random import choice
from time import sleep

n = choice([x for x in range(2, 99*99) if all(x%y != 0 for y in range(2, x))])
ls = []
ls.append(n)
while True:
    if n % 2 == 0:
        n = n // 2
        ls.append(n)
    elif n % 2 != 0:
        n = (3 * n) + 1
        ls.append(n)
    if n == 1:
        break
print(ls)
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

2
推荐指数
1
解决办法
311
查看次数

标签 统计

list-comprehension ×1

python ×1