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”,“拍”,“拍”,“ 14”,“拍”,“拍”,“ 17”,“拍”,“拍”,“ 20”]]

为了解决这个问题,我们将遵循以下步骤-

  • 字符串:=“不填充”

  • ls:=将数字列表作为从1到n的字符串

  • 对于范围0到ls-1的i,执行

    • ls [i]:=字串

    • ls [i]:=字串

    • ls [i]:=字串

    • ls [i]:=字串

    • 如果ls [i]被3整除,则

    • 否则,当ls [i]中存在“ 3”时,则

    • 否则,当ls [i]中存在“ 6”时,则

    • 否则,当ls [i]中存在'9'时,则

    • 返回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']