|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.11.2022, 13:26 | #1 |
Новичок
Джуниор
Регистрация: 22.11.2022
Сообщений: 1
|
Перевод дробей в натуральные и обратно
Всем привет. Только начинаю изучать Python, к сожалению, пока преподавателя нет.
Подскажите, пожалуйста, как сделать, чтобы при умножении натуральных чисел, ответ получался натуральный (ПРИМЕР 5х5=25 , а не 25.0) И наоборот, если я пишу 5.5х3=16.5, а не 16 или 17. Вот мой код. Буду рада, если поможете новичку, благодарю ---------------- what = input ("Какую функцию хотите выполнить?(+, -, /, *, **, sqrt)") if what == "**": a = float(input ("Введите первое число: ")) c = a*a c = int(c) print ("Результат: " + str(c)) elif what == "+": a = float( input ("Введите первое число: ") ) b = float( input ("Введите второе число: ") ) c = a + b c = float(c) print("Результат: " + str(c)) elif what == "-": a = float( input ("Введите первое число: ") ) b = float( input ("Введите второе число: ") ) c = a - b c = int(c) print("Результат: " + str(c)) elif what == "*": a = float( input ("Введите первое число: ") ) b = float( input ("Введите второе число: ") ) c = a*b print("Результат: " + str(c)) elif what == "/": a = float( input ("Введите первое число: ") ) b = float( input ("Введите второе число: ") ) c = a/b print("Результат: " + str(c)) elif what == "sqrt": import math a = float( input ("Введите первое число: ") ) c =a ** (0.5) c = int (c) print("Результат: " + str(c)) else: print("Выбрана неверная операция!") |
22.11.2022, 22:53 | #2 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
ZDS09KZ
Цитата:
Код:
Если один или оба операнда вещественного типа, то результат будет вещественного типа. PS: 1. Форматируйте код. Введите свой код, выделите его, нажмите кнопку [CODE] над окном ввода. 2. Операция ** - это возведение в любую степень, а не в квадрат, как сделано у вас: Код:
Воспользуйтесь форматированным выводом. 4. Возможно, что ваш вопрос надо рассмотреть с другой стороны: Пользователь вводит числа. Если числа целого типа, то надо выполнить преобразование к целому типу, а иначе - к вещественному. В такой постановке вопроса вам поможет конструкция try - except (посмотрите в Сети) У вещественного числа должна быть точка. Если такое число приводить к целому типу, то будет ошибка, которую можно перехватить указанной конструкцией.
Как-то так, ...
|
|
26.11.2022, 22:12 | #3 |
Пользователь
Регистрация: 19.12.2007
Сообщений: 50
|
кажеся в стандартной библиотеке есть функционал для превращения дробей
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод числа из 10-ую в 2-ую и обратно | Frycher | Помощь студентам | 6 | 18.06.2015 20:01 |
Создание класса дробей. Пример на сложение двух дробей. Помогите найти ошибку (С++) | Сергей.Ш | Общие вопросы C/C++ | 5 | 28.10.2013 13:24 |
перевод из текста в hex и обратно | d4hl | Общие вопросы Delphi | 2 | 31.03.2012 16:56 |
Перевод из строки в число и обратно | AsmBeginer | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 22.05.2010 18:49 |
Visual c++ перевод из textBox в инт и обратно | Solncelikiy | Visual C++ | 9 | 08.10.2009 16:26 |