Python 中的 3-6-9
pythonserver side programmingprogramming更新于 2025/11/3 11:24:17
假设我们有一个数字 n,我们必须构建一个列表,其中包含从 1 到 n 的每个数字,除非它是 3 的倍数或数字中包含 3、6 或 9,否则它应该是字符串"no-fill"。
因此,如果输入是 20,则输出将是 ['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']
为了解决这个问题,我们将遵循以下步骤 −
string := "no-fill"
ls:= 创建一个从 1 到 n 的字符串数字列表
对于范围从 0 到 ls 的大小 - 1 的 i,执行
如果 ls[i] 可以被 3 整除,则
ls[i]:= string
否则,当 ls[i] 中存在 '3' 时,则
ls[i]:= string
否则,当 ls[i] 中存在 '6' 时,则
ls[i]:= string
否则,当 '9'存在于 ls[i] 中,则
ls[i]:= string
return ls
让我们看看以下实现以获得更好的理解 −
示例
class Solution: def solve(self, n): string = "no-fill" ls=[str(i) for i in range(1,n+1)] for i in range(len(ls)): if int(ls[i])%3==0: ls[i]=string elif '3' in ls[i]: ls[i]=string elif '6' in ls[i]: ls[i]=string elif '9' in ls[i]: ls[i]=string return ls ob = Solution() print(ob.solve(20))
输入
20
输出
['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

