Khi cần tìm tất cả số lẻ, là palindrome và nằm trong khoảng cho trước, không dùng đệ quy, dùng list comprehension và toán tử '%'.
Palindrome là chuỗi đọc hai chiều giống nhau.
Minh họa:
Ví dụ
my_list = []
lower_limit = 5
upper_limit = 189
print("Giới hạn dưới: ")
print(lower_limit)
print("Giới hạn trên: ")
print(upper_limit)
my_list = [x for x in range(lower_limit, upper_limit + 1) if x % 2 != 0 and str(x) == str(x)[::-1]]
print("Các số lẻ và palindrome giữa " + str(lower_limit) + " và " + str(upper_limit) + " là: ")
print(my_list)
Đầu ra
Giới hạn dưới: 5 Giới hạn trên: 189 Các số lẻ và palindrome giữa 5 và 189 là: [5, 7, 9, 11, 33, 55, 77, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181]
Giải thích
- Tạo list rỗng, giới hạn dưới và trên.
- Hiển thị giới hạn.
- Duyệt giá trị giữa hai giới hạn, kiểm tra chia hết 2.
- Chuyển thành string, so sánh chuỗi đảo ngược.
- Gán biến.
- Hiển thị đầu ra.