From 930b0e00d77ba36261ed7d4f99c66fe8a8ec7c1c Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 9 Dec 2019 00:38:26 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=204=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task01.py | 32 ++++++++++++++++++++++++++++++++ lesson02/task02.py | 25 +++++++++++++++++++++++++ lesson02/task03.py | 19 +++++++++++++++++++ lesson02/task04.py | 19 +++++++++++++++++++ lesson02/task05.py | 4 ++++ 5 files changed, 99 insertions(+) create mode 100644 lesson02/task01.py create mode 100644 lesson02/task02.py create mode 100644 lesson02/task03.py create mode 100644 lesson02/task04.py create mode 100644 lesson02/task05.py diff --git a/lesson02/task01.py b/lesson02/task01.py new file mode 100644 index 0000000..3fc9bfa --- /dev/null +++ b/lesson02/task01.py @@ -0,0 +1,32 @@ +#Задание №1 +# Написать программу, которая будет складывать, вычитать, умножать или делить два числа. +# Числа и знак операции вводятся пользователем. После выполнения вычисления +# программа не завершается, а запрашивает новые данные для вычислений. +# Завершение программы должно выполняться при вводе символа '0' в качестве знака +# операции. Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'), +# программа должна сообщать об ошибке и снова запрашивать знак операции. Также она +# должна сообщать пользователю о невозможности деления на ноль, если он ввел его в +# качестве делителя. + +while True: + x1 = int(input("Ведите первое число:")); + x2 = int(input("Ведите второе число:")); + znak = input("Ведите знак операции +,-,*,/\nЛибо введите 0 для выхода:"); + if znak == "+": + res = x1 + x2; + elif znak == "-": + res = x1 - x2; + elif znak == "*": + res = x1 * x2; + elif znak == "/": + if x2 == 0: + print("Делитель не может равен 0"); + continue; + else: + res = x1 / x2; + elif znak == "0": + break; + else: + print("Веден неверный знак операции."); + continue; + print(res); \ No newline at end of file diff --git a/lesson02/task02.py b/lesson02/task02.py new file mode 100644 index 0000000..2b94309 --- /dev/null +++ b/lesson02/task02.py @@ -0,0 +1,25 @@ +#Задание №2 +# Посчитать четные и нечетные цифры введенного натурального числа. Например, если +# введено число 34560, в нем 3 четные цифры (4, 6 и 0) и 2 нечетные (3 и 5). + + +def chet_ne_chet(x): + global chet + global ne_chet + cur_chislo = x % 10 + cur_ostatok = x // 10 + if (cur_chislo % 2) == 0: + chet += 1; + else: + ne_chet += 1; + if cur_ostatok == 0: + return + chet_ne_chet(cur_ostatok) + + +chet = ne_chet = 0; + +x = int(input("Введите натуральное число")); +chet_ne_chet(x) +print("Количество четных цифр:", chet); +print("Количество нечетных цифр:", ne_chet); diff --git a/lesson02/task03.py b/lesson02/task03.py new file mode 100644 index 0000000..5c58407 --- /dev/null +++ b/lesson02/task03.py @@ -0,0 +1,19 @@ +#Задание №3 +# Сформировать из введенного числа обратное по порядку входящих в него цифр +# и вывести на экран. Например, если введено число 3486, надо вывести 6843. + +def Reverse(x): + global Rev; + cur_chislo = x % 10; + cur_ostatok = x // 10; + Rev = Rev*10+cur_chislo + if cur_ostatok == 0: + return cur_chislo + else: + Reverse(cur_ostatok); + + +x = int(input("Введите натуральное число")); +Rev = 0; +Reverse(x); +print(Rev); \ No newline at end of file diff --git a/lesson02/task04.py b/lesson02/task04.py new file mode 100644 index 0000000..7d59f20 --- /dev/null +++ b/lesson02/task04.py @@ -0,0 +1,19 @@ +#Задание #4 +# Найти сумму n элементов следующего ряда чисел: 1, -0.5, 0.25, -0.125,… Количество +# элементов (n) вводится с клавиатуры. + +def element(r,k): + if k == 0: + return r + else: + r = r / 2 + if r % 2 != 0: + r = r * (-1) + return(element(r,k-1)) + + +s = 0 +n = int(input("Введите значение n")); +for i in range(n): + s += element(1,i) +print(s) diff --git a/lesson02/task05.py b/lesson02/task05.py new file mode 100644 index 0000000..e802bbb --- /dev/null +++ b/lesson02/task05.py @@ -0,0 +1,4 @@ +# Задание №5 +# Вывести на экран коды и символы таблицы ASCII, начиная с символа под номером 32 +# и заканчивая 127-м включительно. Вывод выполнить в табличной форме: по десять +# пар "код-символ" в каждой строке. \ No newline at end of file From ade10e86a19eca00c4f798a72391551c4ac5f6ea Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 9 Dec 2019 00:54:27 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task05.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lesson02/task05.py b/lesson02/task05.py index e802bbb..b7ba58b 100644 --- a/lesson02/task05.py +++ b/lesson02/task05.py @@ -1,4 +1,18 @@ # Задание №5 # Вывести на экран коды и символы таблицы ASCII, начиная с символа под номером 32 # и заканчивая 127-м включительно. Вывод выполнить в табличной форме: по десять -# пар "код-символ" в каждой строке. \ No newline at end of file +# пар "код-символ" в каждой строке. + +count = 0 +r = "" +size_col = 6 +start_ = 32 +end_ = 127 +for i in range(start_,end_+1): + count += 1; + para = chr(i) + ":" + str(i) + r += chr(i) + ":" + str(i) + " " * (size_col - len(para)) + if count % 10 == 0: + print(r) + r = "" +