Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Вывод чисел

13.12.2019, 22:09. Показов 3552. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как изменить код, чтобы если введено целое число, то чтобы отображалось без ноля. А если введено дробное, то чтобы так и оставалось без округления?
Python
1
2
3
4
5
6
7
8
x=(input('Введите число: '))
 
if x==0:
    print('Вы ввели ноль')
elif x<0:
    print('Вы ввели отрицательное число',x)
elif x>0:
    print('Вы ввели положительное число',x)
Добавлено через 1 час 28 минут
Возможно здесь надо отталкиваться от
Python
1
if type(x) != int
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2019, 22:09
Ответы с готовыми решениями:

Вывод чисел
Как можно реализовать вывод числа (любого целого, хоть до миллиарда.), Но при этом чтобы в конце числа выставлялась приставка (245 рублей,...

Вывод чисел
Задано натуральное число N. Напишите программу, которая выведет на экран все числа: сначала число N, а затем числа от 1 до...

Вывод больших чисел
Доброго времени суток! Подскажите пожалуйста, есть задача, ответ этой задачи выводится в виде 1.0344827586206896e+17 А должен...

38
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
14.12.2019, 20:02
Студворк — интернет-сервис помощи студентам
Тогда так
Python
1
2
3
4
5
6
7
8
while 1:
    try:
        x=  float(input())
        break
    except ValueError:
        pass
if x%1==0.0:
    x = int(x)
Добавлено через 3 минуты
тогда так
Python
1
2
3
4
5
6
7
8
9
while 1:
    try:
        x=  float(input())
        break
    except ValueError:
        print("введите число")
if x%1==0.0:
    x = int(x)
print(x)
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
29.10.2020, 21:38  [ТС]
А почему eval никто не предложил? Это ведь проще было сделать, 4 буквы дописать.
Python
1
2
3
4
5
6
7
8
x = eval(input('Введите число: '))
 
if x == 0:
    print('Вы ввели ноль')
elif x < 0:
    print('Вы ввели отрицательное число',x)
elif x > 0:
    print('Вы ввели положительное число',x)
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
02.11.2020, 17:27  [ТС]
Написал расчет гипотенузы треугольника.
Python
1
2
3
4
5
6
#from math import sqrt #NameError: name 'math' is not defined
import math
k1 = eval(input("Введите первый катет: "))
k2 = eval(input("Введите второй катет: "))
g = math.sqrt(k1**2 + k2**2)
print('Гипотенуза равна ', g)
Как отбросить ноль в ответе, если например выводит 5.0 (забыл, какие числа вводил)? Если там не ноль, а длинное число после точки, то для округления можно после точки оставить две цифры.

И почему строка
Code
1
from math import sqrt
выводит ошибку
Code
1
NameError: name 'math' is not defined
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
02.11.2020, 17:36
Цитата Сообщение от supmener Посмотреть сообщение
выводит ошибку
Скрин или не было.

Добавлено через 49 секунд
Цитата Сообщение от supmener Посмотреть сообщение
Как отбросить ноль в ответе,
https://pyformat.info/

Добавлено через 1 минуту
Цитата Сообщение от supmener Посмотреть сообщение
после точки оставить две цифры.
Python
1
2
>>> '{:.2f}'.format(123.456)
'123.46'
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
02.11.2020, 17:39  [ТС]
А ваше решение отбрасывает ненужный ноль?
Миниатюры
Вывод чисел  
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
02.11.2020, 17:43
Проверь узнаешь.

Что по скрину, смотри на номер строки
line 5
pycharm тебе бы подсветил

Правильно так:
Python
1
2
3
4
5
6
from math import sqrt
#import math
k1 = eval(input("Введите первый катет: "))
k2 = eval(input("Введите второй катет: "))
g = sqrt(k1**2 + k2**2) # (!)
print('Гипотенуза равна ', g)
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
02.11.2020, 17:49  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Проверь узнаешь.
Не работает.
Python
1
2
3
>>> '{:.2f}'.format(123.0)
'123.00'
>>>
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
12.12.2020, 21:55  [ТС]
Цитата Сообщение от supmener Посмотреть сообщение
Как отбросить ноль в ответе, если например выводит 5.0 (забыл, какие числа вводил)?
Code
1
2
3
Введите первый катет: 4
Введите второй катет: 3
Гипотенуза равна  5.0
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
12.12.2020, 22:17
supmener,
Python
1
print('Гипотенуза равна ', round(g,2) if g - int(g) else int(g))
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.12.2020, 08:21  [ТС]
Благодарю. А как работает этот код? Что означает в месте if g - int(g) знак "-"?
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
13.12.2020, 08:41
supmener, Минус
Если разница между числом и его целой частью равна чему то отличного от "0"
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
13.12.2020, 08:56
Цитата Сообщение от Gdez Посмотреть сообщение
равна чему то отличного от "0"
Видимо, ты про машинный ноль не слышал.
Python
1
2
3
4
>>> (0.1+0.2 + 1 - 1 - 0.3) == 0
False
>>> 0.1+0.2 + 1 - 1 - 0.3
5.551115123125783e-17
Добавлено через 41 секунду
float'ы вообще сравнивать оператором == нельзя
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.12.2020, 08:58  [ТС]
А за счет какого фрагмента кода программа узнает о случае, когда "разница между числом и его целой частью равна чему то отличного от "0" "? То есть вроде этой части кода нет, а он работает.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
13.12.2020, 09:04
Вообще ТС хочет странного и нормального красивого решения нет.

Цитата Сообщение от supmener Посмотреть сообщение
Как отбросить ноль в ответе, если например выводит 5.0 (забыл, какие числа вводил)?
Один из вариантов:
Python
1
2
3
4
5
6
7
8
>>> d = 3.0
>>> res = '{:.1f}'.format(d)
>>> if res.endswith('.0'):
...     print(int(d))
... else:
...     print(res)
... 
3
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.12.2020, 09:08  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Видимо, ты про машинный ноль не слышал.
Сойдет и такое решение, за неимением другого, так как это чисто для визуальной красоты отображения на данный момент.
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
13.12.2020, 09:16
Рыжий Лис, естественно для машинного нуля. Для этой задачи, где целая часть не ноль, "машинного нуля" не будет
Python
1
2
3
4
5
d = 0.1+0.2 + 1 - 0.3
if d - int(d) :
    print(d)
else :
    print('нет остатка')
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.12.2020, 09:21  [ТС]
Рыжий Лис, ваше решение тоже работает. Оно лучше чем у Gdez или если нет, то какой недостаток содержит?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
13.12.2020, 09:26
Цитата Сообщение от Gdez Посмотреть сообщение
d = 0.1+0.2 + 1 - 0.3
Попробуй
Python
1
d = 0.1+0.2 + 1 - 0.3 -1
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
13.12.2020, 09:38
Рыжий Лис, пробовал
Для этой задачи, где целая часть не ноль, "машинного нуля" не будет
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2020, 09:38

Вывод чисел по спирали
Добрый день! Посмотрите, пожалуйста. Решаю такую задачу: Выведите таблицу размером n×n, заполненную числами от 1 до n^2 по спирали,...

Вывод чисел списком
Здравствуйте,хотел бы задать вопрос.Мне нужно написать программу,которая выводит числа СПИСКОМ,которые делятся на 5 и в остатке у них...

Вывод чисел поочередно
Добрый вечер, как сделать поочередный вывод чисел на Python, то есть чтобы сначала выводилось первое число, потом оно пропадало и...

Вывод последовательности чисел, по 5 в строке
Привет знатокам, нужно написать программу вывода в строки, желательно через &quot;for i in range&quot;. 1) 1 2 3 4 5 ...

Вывод одинаковых чисел в списке
В багажнике лежит ящик с деталями для ремонта автомобиля во время дальней поездки. Но поскольку поездка будет по бездорожью, то в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru