Loading...
jivkoss avatar jivkoss 4 Точки

Грешка в judge при Python

Здравейте.

В задачите на Python, когато изходът е цяло число, го изписва с .0 накрая. Например 254.0. А judge иска е да е 254.

Наприм задачата за преобразуване на инчове в сантиметри:

num = float(input())
centimeters = num * 2.54
print(centimeters)

Как да направя изхода да не е 254.0, а 254, когато се подаде 100 на задачата?

 

Тагове:
0
Programming Basics
The_assassin avatar The_assassin 158 Точки

Има десетки начини, зависи какво се изисква в условието, да е заакръглено на горе, или на долу:
Ето няколко примера:

import math

print(math.trunc(centimeters))
print(math.floor(centimeters))
print(math.ceil(centimeters))

Повече тук

print(int(centimeters))
print('%.0f}' .format(centimeters))
print('{:.0}' .format(centimeters))
print(f'{centimeters:.0}') # само за най-новата версия

Повече тук

0
jivkoss avatar jivkoss 4 Точки

Така няма ли да се загубят отговорите, които са реални числа, например 73.5? На мен ми трябва хем да показва дробно число за изход, хем като е цяло, да не е 254.0. В условието не упоменато никакво закръгяне.

0
The_assassin avatar The_assassin 158 Точки

Сетих се, коя задача е това. В нея никъде няма изискване да се закръгля към цяло число. Така минава:
 

print('Centimeters = ', centimeters)

 

0
jivkoss avatar jivkoss 4 Точки

При мен не минава. И на другите задачи, където отговоът е хем дробно, хем цяло число, когато е цяло се изписв с .0 отзад и не минава. Дава грешка.

0
kalintri avatar kalintri 2 Точки

Следния код също работи и изглежда малко по-кратък, но нямам необходимите познания за да обясня реално каква е разликата:

 

inches = float(input())

centimeters = inches * 2.54

print(str(centimeters).rstrip('0').rstrip('.'))

 

0
03/01/2019 19:27:58
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.