Python 中的 3-6-9
假设我们有一个数字 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']
为了解决这个问题,我们将遵循以下步骤:
字符串 := "no-fill"
ls := 创建一个从 1 到 n 的数字字符串列表
对于范围为 0 到 ls 大小 - 1 的 i,执行以下操作:
如果 ls[i] 可以被 3 整除,则:
ls[i] := 字符串
否则,如果 ls[i] 中存在 '3',则:
ls[i] := 字符串
否则,如果 ls[i] 中存在 '6',则:
ls[i] := 字符串
否则,如果 ls[i] 中存在 '9',则:
ls[i] := 字符串
返回 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']
广告