CONVERT 문제가 부동소수점 오류로 안풀리는지 궁금합니다 dogeisgod python 3.6 기준으로 7 * 0.4536 = 3.1752000000000002 이렇게 나옵니다 부동소수점 오류가 있으면 문제가 안풀리는지 궁금합니다. 혹시 제가 잘못했을 수도 있을것 같아 코드도 첨부합니다 def checker(a): if a == 0: return "0.0000" else: return a def k_p(a): b = a*2.2046 b = checker(b) b = " " + str(b) + " lb" return b def p_k(a): b = a*0.4536 b = checker(b) b = " " + str(b) + " kg" return b def l_g(a): b = a*0.2642 b = checker(b) b = " " + str(b) + " g" return b def g_l(a): b = a*3.7854 b = checker(b) b = " " + str(b) + " l" return b def detect(a,b): a = eval(a) if b == "kg": return k_p(a) elif b == "lb": return p_k(a) elif b =="l": return l_g(a) else: return g_l(a) z = [] a = int(input()) for i in range(a): a = input() b = a.split() k = i + 1 c = str(k) + detect(b[0],b[1]) z.append(c) for i in z: print(i) 7년 전
1개의 댓글이 있습니다. seico75 the appropriately converted value rounded to 4 decimal places 즉 4째자리로 반올림해야합니다. 반올림 코드가 없네요. 보통 반올림하라거나 몇자리까지만 맞으면 된다고 해서 부동소수점 오류는 영향을 안주는 것 같습니다. 7년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
dogeisgod
python 3.6 기준으로
7 * 0.4536 = 3.1752000000000002 이렇게 나옵니다
부동소수점 오류가 있으면 문제가 안풀리는지 궁금합니다.
혹시 제가 잘못했을 수도 있을것 같아 코드도 첨부합니다
7년 전