ikalabuhova
?>

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

Информатика

Ответы

saltikovaK.S.1482

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

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))
Zaikinarusina

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) Не совсем понял вопрос.

Объяснение:

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

zverevahelen

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) Не совсем понял вопрос.

Объяснение:

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

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

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

Популярные вопросы в разделе

zolotayaoxana1982
ОвсепянСергей88
Малыхин Валерьевна621
av4738046
eizmaylova6
s-food
yuliasam
Виктория1690
Klochkov malakhov1974
Sinelnikov1650
olg14855767
adhotel
Владимир
dobrovolsky-tmz1
fullhouse9991