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']

相关文章


有用资源