Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Trò chơi 3-6-9 trong Python

Cho số n, tạo danh sách từ 1 đến n. Nếu số chia hết cho 3 hoặc chứa chữ số 3,6,9 thì thay bằng chuỗi "no-fill" (hoặc "clap").

Ví dụ: n=20 → danh sách có "clap" ở các vị trí 3,6,9,12,13,15,16,18,19.

Các bước giải quyết

  • string = "no-fill"
  • ls = [str(i) for i in range(1, n+1)]
  • Duyệt chỉ số i:
    • Nếu int(ls[i]) % 3 == 0 → ls[i] = string
    • Ngược lại nếu '3'/'6'/'9' trong ls[i] → ls[i] = string
  • Trả về ls

Ví dụ mã Python

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