Tìm số có tổng các chữ số có tận cùng bằng 9 - python

Bài trên https://luyencode.net

Đề bài

Số tự nhiên N được gọi là số đẹp nếu cộng các chữ số của N lại ta có một số mà kết thúc bằng 9.

Ví dụ một số số đẹp là 18 (1+8 = 9) , 234 (2+3+4 = 9) , 658 ( 6+5+8 = 19).

Cho một số N, hãy kiểm tra xem N có phải là số đẹp hay không.

Dữ liệu vào

  • Là số nguyên N (0 ≤ n ≤ 109)

Dữ liệu ra

  • Nếu N là số đẹp, in ra “YES”, nếu không in ra “NO”

Code cua minh

num_list = list(map(int, str(input())))
a = list(map(int, str(sum(num_list)))) 
if a==9 or a[-1]==9:
	print('YES')
else:
	print('NO')
1 Like

Vui lòng

  1. sửa lại tiêu đề.
  2. bỏ code vào trong thẻ code
3 Likes

Screen Shot 2021-10-19 at 17.23.50

3 Likes

khổ tâm thật chứ :persevere: cái code này của nhà ông @TaoLaoBidaoBanBanhBa giải thích cho người mới hơi bị cực luôn :persevere:

Screen Shot 2021-10-19 at 17.38.20

Bai em giai sao v mn

Đây là một lí do không nên học Python đầu tiên.

ord('0') = 48 nên lặp for qua input là xong. Chữ số tận cùng thì lấy mod 10 thôi.

3 Likes

Là sao ạ mình ms học à rogp10

Viết đầy đủ đàng hoàng. Viết Teen code, viết tắt, thiếu dấu lung tung thì coi chừng bị sếp lớn ban nick.

2 Likes

Tôi mới vào nên xin lỗi

Theo @35_11A8_Nguyen_Duong

 if sum(list(map(int, inpu()))) % 10 == 9: # do everything and check last number
    print('Oh! Yeah!")
else:
    print("Oh! No!")

Theo @TaoLaoBidaoBanBanhBa

ip = input() # get a line
 ls = [int(x) for x in ip] # convert to list of number
s = sum(ls) # sum
if s % 10 == 9: # check last number if equals to 9
    print("Oh! Yeah!')
else:
    print("Oh! No!")

Theo @rogp10

ip = input();
 s = 0
for i in ip:
    s += ord(i) - ord('0') # use charcode value
if s % 10 == 9:
    print("Oh! Yeah!")
else:
    print("Oh! No!")

Theo @SITUVN.gcd

num = int(input()))
 s = 0
while num > 0:
    s += num % 10
    num //= 10
if s % 10 == 9:
    print("Oh! Yeah!");
else:
    print("Oh! No!")
from functools import reduce
 ip = input()
s = int(ip) if len(ip) < 2 else reduce(((lambda a, b: int(a) + int(b)), ip)
if s % 10 == 9
    print("Oh! Yeah!")
else:
    print("Oh! No!")

Có cả tá cách từ đơn giản đến phức tạp; từ ngắn gọn đến dài dòng.

4 Likes

MÌnh thường viết script để làm việc với text nên có xu hướng làm theo thói quen đó, với cũng tại … thích, miễn sao làm xong được việc thì thôi :slight_smile:

2 Likes

@SITUVN.gcd
Thank bạn nhiều nha

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?