М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kiki0004
kiki0004
20.02.2021 21:26 •  Информатика

Питон! Напишите программу, которая возвращает сумму 2 чисел. Если один из аргументов не является числом (целым или вещественным), функция должна вернуть строку: "1st argument is not a number"
"2nd argument is not a number"
"all arguments are not a numbers"

👇
Ответ:
rudaniladanilov
rudaniladanilov
20.02.2021

Решение "в лоб": на логических конструкциях.

isInt(s) - целочисленное ли число в строке

isFloat(s) - вещественное ли число в строке

Стоит внести ясность в конструкции на строках 25,  27 и 28. Начнём  по порядку:

1. (int(a) if isIntA else float(a)) + (int(b) if isIntB else float(b)) - сумма результатов двух тернарных операторов, имеющих вид:

<результат при True> if <условие> else <результат при False>

Если перевести на русский язык: <перевод строки в целочисленное число>, если <в строке a целочисленное число>, иначе <перевод строки в вещественное число>. Аналогично с выражением после +.

2. isIntOrFloatA ^ isIntOrFloatB - логическая операция XOR, которая возвращает True только в двух случаях: когда только один из операторов равен True или False.

3. 1 if isIntOrFloatA == False else 2 - аналогичная первому выражению запись тернарного оператора: если isIntOrFloatA равняется False (если первый аргумент - не число), то выводим 1, иначе - 2.

Код:

def isInt(s):    try:          int(s)        return True    except ValueError:        return False def isFloat(s):    try:          float(s)        return True    except ValueError:        return False def sum(a, b):  isIntA = isInt(a)  isFloatA = isFloat(a)  isIntB = isInt(b)  isFloatB = isFloat(b)  isIntOrFloatA = isIntA or isFloatA  isIntOrFloatB = isIntB or isFloatB  if isIntOrFloatA and isIntOrFloatB:    return (int(a) if isIntA else float(a)) + (int(b) if isIntB else float(b))  else:    if isIntOrFloatA ^ isIntOrFloatB:      return "{}st argument is not a number".format(1 if isIntOrFloatA == False else 2)    else:      return "all arguments are not a numbers" a = input() b = input() print(sum(a, b))
4,7(21 оценок)
Открыть все ответы
Ответ:
karabanovaann
karabanovaann
20.02.2021

1) Блокнот: Простой текстовый редактор Windows. Просто для текста. Удобен как очень быстрое место для записи заметок

WordPad: Редактирование и создание документов, таких как DOCX, ODT-и так далее.

2) Блокнот: С Блокнота можно открывать файлы с расширениями LOG, INF, INI, а так же сохранять их в разных кодировках (Юникод, UTF-8, ANSI)

WordPad: Так же может открыть TXT, ODT, DOCX и готов их сохранить.

3) Блокнот: Настраивается, по умолчанию переноса нет.

WordPad: Так же настраивается, можно установить переключатель Перенос по словам (Word Wrap).

4) Доступна и в блокноте и в WordPad.

5) Доступна у блокнота и WordPad, горячая клавиша - CTRL + Z

6) У двух редакторов одни и те же горячие клавиши - CTRL + X, CTRL + C, CTRL + V, DEL

7) Блокнот не поддерживает, если только системно его не изменить. WordPad может форматировать текст, изменять шрифт.

8) Блокнот не поддерживает, WordPad поддерживает данный функционал.

9) Насчёт блокнота точно не скажу, но WordPad есть данный функционал.

10) Блокнот поддерживает, так же как и WordPad.

11) И то и другое - предоставляет данный функционал.

12) Точно не знаю, но в блокноте вроде бы такого нет, так же как и у WordPad. Но я не уверен.

13) И то и другое - можно распечатать.

14) Блокнот не поддерживает объекты, а WordPad - есть такой функционал.

15) Не совсем понял вопрос.

Объяснение:

Надеюсь, я правильно понял задачу.

4,5(93 оценок)
Ответ:
Belka1712
Belka1712
20.02.2021

1) Блокнот: Простой текстовый редактор Windows. Просто для текста. Удобен как очень быстрое место для записи заметок

WordPad: Редактирование и создание документов, таких как DOCX, ODT-и так далее.

2) Блокнот: С Блокнота можно открывать файлы с расширениями LOG, INF, INI, а так же сохранять их в разных кодировках (Юникод, UTF-8, ANSI)

WordPad: Так же может открыть TXT, ODT, DOCX и готов их сохранить.

3) Блокнот: Настраивается, по умолчанию переноса нет.

WordPad: Так же настраивается, можно установить переключатель Перенос по словам (Word Wrap).

4) Доступна и в блокноте и в WordPad.

5) Доступна у блокнота и WordPad, горячая клавиша - CTRL + Z

6) У двух редакторов одни и те же горячие клавиши - CTRL + X, CTRL + C, CTRL + V, DEL

7) Блокнот не поддерживает, если только системно его не изменить. WordPad может форматировать текст, изменять шрифт.

8) Блокнот не поддерживает, WordPad поддерживает данный функционал.

9) Насчёт блокнота точно не скажу, но WordPad есть данный функционал.

10) Блокнот поддерживает, так же как и WordPad.

11) И то и другое - предоставляет данный функционал.

12) Точно не знаю, но в блокноте вроде бы такого нет, так же как и у WordPad. Но я не уверен.

13) И то и другое - можно распечатать.

14) Блокнот не поддерживает объекты, а WordPad - есть такой функционал.

15) Не совсем понял вопрос.

Объяснение:

Надеюсь, я правильно понял задачу.

4,6(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ