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