tom3805   1년 전

저 코린인데 뭐가 잘못된건지 모르겠어요 ㅠㅠ 도와주세요

hp3265   1년 전

H나 M은 수입니다. 그러나 ":"은 문자열입니다. 수와 문자열은 더할 수 없습니다.

덧셈 연산으로 여러 문자열을 합치시려면 우선 각 수를 문자열로 변환할 필요가 있습니다.

asdarwin03   1년 전

파이썬 문법에서 두가지 실수를 하신 것 같습니다.

1. H와 M을 입력받을 때, input()과 split() 사이에는 ,(반점, 쉼표)가 아니라 .(온점, 마침표)가 와야 합니다.

2. print 하실 때 숫자+문자를 출력하고자 할 때는 숫자를 문자화해야합니다. ex) print(str(3) + ":" + str(35)) -> "3:35" (str함수 사용 시)

ujoon   1년 전

일단은 실수가 보입니다. 출력에서는 ':'를 포함하지 않습니다. 그러므로 H,M의 형식으로 출력해야 합니다. 그리고 위에서 말한 것처럼 input()과 split()사이에는 '.'이 와야 합니다. 추가적으로 M<45에 대한 if문과 M>=45에 대한 if문을 밖에 빼놓고 계산을 하면 코드가 좀 더 깔끔해질 것 같습니다.

if M>=45:
if H>=1:
        print(H+":"+M-45)
    else: #H<1인 경우
        print(0+":"+M-45)
else: #M<45
    if H>=1:
        print(H-1+":"+60-(45-M))
    else: #H<1
        print(23+":"+60-(45-M))

이런식으로요.

댓글을 작성하려면 로그인해야 합니다.