Hand made


Channel's geo and language: Belarus, Russian
Category: Edutainment


Что можно сделать своими руками

Related channels

Channel's geo and language
Belarus, Russian
Category
Edutainment
Statistics
Posts filter


def shift_char(c, shift):
if c.isupper():
base = ord('A')
elif c.islower():
base = ord('a')
else:
return c
new_ord = (ord(c) - base + shift) % 26
return chr(base + new_ord)

s = input().strip()
words = s.split()

encrypted_words = []
for word in words:
shift = len(word) % 26
encrypted_word = []
for char in word:
encrypted_char = shift_char(char, shift)
encrypted_word.append(encrypted_char)
encrypted_words.append(''.join(encrypted_word))

print(' '.join(encrypted_words))


На вход программе подаётся строка текста на английском языке, в которой нужно зашифровать все слова. Каждое слово строки следует зашифровать с помощью шифра Цезаря (циклического сдвига на длину этого слова). Строчные буквы при этом остаются строчными, а прописные – прописными. Гарантируется, что между различными словами присутствует один пробел.

Формат входных данных
На вход программе подаётся строка текста на английском языке.

Формат выходных данных
Программа должна вывести зашифрованный текст в соответствии с условием задачи.

Примечание. Символы, не являющиеся английскими буквами, не изменяются.


import random
cnt = 0 # счётчик попыток
entr = 1 # задание диапазона
ext = 100 # задание диапазона
rnd = random.randint(entr, ext) # загадка

# -----------ФУНКЦИЯ ПРОВЕРКИ ВВОДА ЧИСЛА----------


def is_vld_inpt_nmbr(inpt_nmbr):
vld = True
while vld:
if inpt_nmbr.isdigit() and entr ext:
ext, entr = entr, ext
rnd = random.randint(entr, ext)
print()
if y == 'y':
x = input(f'Угадайте число от {entr} до {ext}... ')
gm(x)
print()
print(
f'Та-та-м!!! Вы угадали c {cnt} раз, поздравляем!!!', sep='\n')
print('Было загадано число -', rnd)


n = int(input())
current = 1
k = 0
while current < n + 1:
current *= 2
k += 1
print(k)


Тимур загадал число от
1
1 до
n
n (включительно), а Руслан собирается его отгадать. Каждый раз Руслан называет число Тимуру, а Тимур отвечает ему одним из способов: "больше", "меньше", "ты отгадал!". За какое наименьшее количество попыток Руслан может гарантированно угадать число Тимура?

Формат входных данных
На вход программе подаётся натуральное число
n
n.

Формат выходных данных
Программа должна вывести наименьшее количество попыток, которых гарантированно хватит Руслану, чтобы угадать число Тимура.


def is_pangram(text):
return len(set(text.lower().replace(' ', ''))) == 26


Панграмма – это фраза, содержащая в себе все буквы алфавита. Обычно панграммы используют для презентации шрифтов, чтобы можно было в одной фразе рассмотреть все глифы.

Напишите функцию is_pangram(text), которая принимает в качестве аргумента строку текста на английском языке и возвращает значение True, если текст является панграммой, или False в противном случае.

Примечание 1. Гарантируется, что введённая строка содержит только буквы английского алфавита и пробелы.

Примечание 2. Приведённый ниже код:

print(is_pangram('Jackdaws love my big sphinx of quartz'))
print(is_pangram('The jay pig fox zebra and my wolves quack'))
print(is_pangram('Hello world'))
должен выводить:

True
True
False


Магическая дата – это дата, когда день, умноженный на месяц, равен числу, образованному последними двумя цифрами года.

Напишите функцию is_magic(date), которая принимает в качестве аргумента строковое представление корректной даты и возвращает значение True, если дата является магической, или False в противном случае.

Примечание. Приведённый ниже код:

print(is_magic('10.06.1960'))
print(is_magic('11.06.1960'))
должен выводить:

True
False


def number_to_words(n):
units = {
1: 'один', 2: 'два', 3: 'три', 4: 'четыре', 5: 'пять',
6: 'шесть', 7: 'семь', 8: 'восемь', 9: 'девять',
10: 'десять', 11: 'одиннадцать', 12: 'двенадцать',
13: 'тринадцать', 14: 'четырнадцать', 15: 'пятнадцать',
16: 'шестнадцать', 17: 'семнадцать', 18: 'восемнадцать',
19: 'девятнадцать'
}
tens = {
20: 'двадцать', 30: 'тридцать', 40: 'сорок',
50: 'пятьдесят', 60: 'шестьдесят',
70: 'семьдесят', 80: 'восемьдесят', 90: 'девяносто'
}

if n < 1 or n > 99:
return "Число должно быть от 1 до 99"
if n in units:
return units[n]
ten_part = (n // 10) * 10
unit_part = n % 10
result = tens[ten_part]
if unit_part != 0:
result += ' ' + units[unit_part]
return result

# Примеры использования
print(number_to_words(56)) # пятьдесят шесть
print(number_to_words(11)) #


преобразовать число от 1 до 99 в описание на русском типа 56 пятьдесят шесть


def get_shipping_cost(quantity):
quantity = 1000 + (n-1) * 120
print(quantity)

# считываем данные
n = int(input())

# вызываем функцию
print(get_shipping_cost(n))


Напишите функцию draw_triangle(), которая выводит звёздный равнобедренный треугольник с основанием и высотой, равными
15
15 и
8
8 соответственно:

*
***
*****
*******
*********
***********
*************
***************
Примечание 1. Для вывода треугольника используйте цикл for.

Примечание 2. Справа от звёздочек пробелов нет.


def convert_to_python_case(text):
result = []
for i in range(len(text)):
char = text[i] # Получаем текущий символ по индексу
if i == 0:
result.append(char.lower())
else:
if char.isupper():
result.append('_' + char.lower())
else:
result.append(char)
return ''.join(result)


def convert_to_python_case(text):
result = []
for i in range(len(text)):
char = text[i] # Получаем текущий символ по индексу
if i == 0:
result.append(char.lower())
else:
if char.isupper():
result.append('_' + char.lower())
else:
result.append(char)
return ''.join(result)


исправить код преобразования вербдюжего кода в змеиный # объявление функции
def convert_to_python_case(text):
result = []
for i in range(len(text)):
if i == 0:
result.extend(text[i].lower())
for i in range(1, len(text)):
if text[i] == text.isupper():
result.extend('_' + text[i].lower())
if text[i] == text.islower():
result.extend(text[i])
return(''.join(result))


# Считываем данные
txt = input()


result = []
for i, char in enumerate(text):
if i == 0:
result.append(char.lower())
else:
prev_char = text[i-1]
if char.isupper():
if prev_char.islower() or (i < len(text)-1 and text[i+1].islower()):
result.append('_')
result.append(char.lower())
else:
result.append(char)
return ''.join(result)


result = []
for i, char in enumerate(text):
if i == 0:
result.append(char.lower())
else:
prev_char = text[i-1]
if char.isupper():
if prev_char.islower() or (i < len(text)-1 and text[i+1].islower()):
result.append('_')
result.append(char.lower())
else:
result.append(char)
return ''.join(result)


def convert_to_python_case(text):
if not text:
return ""
result = [text[0].lower()]
for i in range(1, len(text)):
current_char = text[i]
prev_char = text[i-1]
if current_char.isupper():
# Проверяем условия для добавления подчеркивания
add_underscore = prev_char.islower() or (i < len(text)-1 and text[i+1].islower())
if add_underscore:
result.append('_')
result.append(current_char.lower())
else:
result.append(current_char)
return ''.join(result)

# Считываем данные
txt = input()

# Вызываем функцию
print(convert_to_python_case(txt))


Исправьте функцию convert_to_python_case(text), которая принимает в качестве аргумента строку в «верблюжьем регистре» и преобразует его в «змеиный регистр».
def convert_to_python_case(text):
text = text.lower()
print(text)

# считываем данные
txt = input()

# вызываем функцию
print(convert_to_python_case(txt))


исправьте функцию is_correct_bracket(text), которая принимает в качестве аргумента непустую строку text, состоящую из символов ( и ) и возвращает значение True, если поступившая на вход строка является правильной скобочной последовательностью, или False в противном случае.
Примечание 1. Правильной скобочной последовательностью называется строка, состоящая только из символов ( и ), где каждой открывающей скобке найдётся парная закрывающая скобка (при этом каждая открывающая скобка должна быть левее соответствующей ей закрывающей скобки).
# объявление функции
def is_correct_bracket(text):
if text[0] == chr(41):
return False
count40 = 0
count41 = 0
for t in text:
if t == chr(40):
count40 += 1
elif t == chr(41):
count41 += 1
if count40 == count41:
return True

# считываем данные
txt = input()

# вызываем функцию
print(is_correct_bracket(txt))

20 last posts shown.