Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: При делении в python 3 выводит числа с запятой и 0 (если делиться нацело) ну и с остатком в другом случае. А как сделать так чтобы он не выводил 0 в целочисленном делении.

1
  1  Хворых Павел, 29 июня 2016 г. 8:43:59
      У %g есть проблема, что при превышении точности (по умолчанию, 6 знаков) он сваливается в экспоненциальный формат, тогда требуется вручную увеличить точность (при прямом выводе float через print используется точность в 12 знаков, возьмем это значение).
n = 10**6+0.5
print('%g' % n) # выводит "1e+06"
print('%.12g' % n) # выводит "1000000.5"
  2  Хворых Павел, 29 июня 2016 г. 8:32:43
      print('%g' % n)
  3  Николай Коженин, 28 июня 2016 г. 23:06:32
      На этот вопрос меня навела задача 822
  4  Николай Коженин, 28 июня 2016 г. 23:05:23
      Я написал текст своего вопроса, но по какойто причине осталось только 1 предложение. Я хотел спросить есть ли что-нибудь, что может заменить это выражение
if n % 1 == 0:
print(int(n))
else:
print(n)
Где n - переменная float, которую я хочу выводить без нуля если число целочисленное и с отстатком в другом случае.
  5  Беляев Сергей Николаевич, 28 июня 2016 г. 6:14:11
      Может я что-то не так понял, но целочисленное деление в python - это операция //. Например: print(13//5)
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru