Computer >> Máy Tính >  >> Lập trình >> Python

3-6-9 bằng Python


Giả sử chúng ta có một số n, chúng ta phải tạo một danh sách với mỗi số từ 1 đến n, ngoại trừ khi nó là bội của 3 hoặc có 3, 6 hoặc 9 trong , nó phải là chuỗi "no-fill".

Vì vậy, nếu đầu vào là 20, thì đầu ra sẽ là ['1', '2', 'vỗ tay', '4', '5', 'vỗ tay', '7', '8', 'vỗ tay', '10', '11', 'vỗ tay', 'vỗ tay', '14', 'vỗ tay', 'vỗ tay', '17', 'vỗ tay', 'vỗ tay', '20 ']

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • string:="no-fill"

  • ls:=tạo danh sách các số dưới dạng chuỗi từ 1 đến n

  • đối với tôi trong phạm vi từ 0 đến kích thước ls - 1, thực hiện

    • nếu ls [i] chia hết cho 3 thì

      • ls [i]:=string

    • ngược lại khi '3' có trong ls [i] thì

      • ls [i]:=string

    • ngược lại khi '6' có trong ls [i] thì

      • ls [i]:=string

    • ngược lại khi '9' có trong ls [i] thì

      • ls [i]:=string

  • trả lại ls

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

20

Đầu ra

['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']