Init
This commit is contained in:
88
python/21.10.25/ex1.py
Normal file
88
python/21.10.25/ex1.py
Normal file
@@ -0,0 +1,88 @@
|
||||
# Основная функция.
|
||||
# для возврата значений ошибок текста и самого вывода баллов
|
||||
# буду использовать get_coords для создания возврата значений в кортеж
|
||||
def scrabble(text):
|
||||
|
||||
#=====
|
||||
# Обьявление переменных
|
||||
#=====
|
||||
|
||||
# Словарь, слово: балл
|
||||
alphabet = {
|
||||
# English alphabet
|
||||
'a': 1, 'e': 1, 'i': 1, 'o': 1, 'l': 1, 'n': 1, 's': 1, 't': 1, 'r': 1,
|
||||
'd': 2, 'g': 2,
|
||||
'b': 3, 'c': 3, 'm': 3, 'p': 3,
|
||||
'f': 4, 'h': 4, 'w': 4, 'y': 4,
|
||||
'k': 5,
|
||||
'j': 8, 'x': 8,
|
||||
'q': 10, 'z': 10,
|
||||
|
||||
# Russian alphabet
|
||||
'а': 1, 'в': 1, 'е': 1, 'и': 1, 'н': 1, 'о': 1, 'с': 1, 'т': 1,
|
||||
'д': 2, 'к': 2, 'л': 2, 'м': 2, 'п': 2, 'у': 2, 'р': 2, # "р" не было, на рандом добавил в 2 баллы.
|
||||
'б': 3, 'г': 3, 'ё': 3, 'ь': 3, 'я': 3,
|
||||
'й': 4, 'ы': 4,
|
||||
'ж': 5, 'з': 5, 'ч': 5, 'ц': 5,
|
||||
'ш': 8, 'э': 8, 'ю': 9,
|
||||
'ф': 10, 'щ': 10, 'ъ': 10}
|
||||
|
||||
text = text.replace(' ', '') # убираю пробелы
|
||||
text = text.lower() # делаю все символы низкими
|
||||
score = 0 # нулевой счетчик баллов
|
||||
symb_err = [] # инициализация списка для символов не в алфавите
|
||||
|
||||
# =====
|
||||
# Главная логика
|
||||
# =====
|
||||
|
||||
for symbol in text:
|
||||
if symbol in alphabet:
|
||||
score += alphabet[symbol]
|
||||
else:
|
||||
symb_err.append(symbol)
|
||||
return score
|
||||
|
||||
# Функция мультиплеера
|
||||
# Внутри встроена одиночная игра
|
||||
# и интерактив ввиде выхода, выбора игры и ввода игроков
|
||||
def parral_game(players):
|
||||
players = players.split() # преобразование в список.
|
||||
print(len(players))
|
||||
if len(players) == 1: # Если игрок один то вопрос переходить ли на одиночный режим
|
||||
print("- У вас один игрок\n- Выбираете режим одиночной?")
|
||||
print("Yes(1), No(0)")
|
||||
subm = int(input(":: "))
|
||||
if subm == 1: # Если да то начинается одиночная игра
|
||||
onepl_game = input("Введите текст: ")
|
||||
resopl = scrabble(onepl_game)
|
||||
print(f"Введенное слово: {onepl_game}, счет: {resopl}")
|
||||
exit()
|
||||
if subm == 0: # Если нет то опрашивается имя игроков
|
||||
subm_name = input("Введите снова имена игроков: ")
|
||||
subm_name = subm_name.split() # преобразую в список
|
||||
subm_name = players # называю его как основной входящий аргумент функции
|
||||
if len(players) > 1: # Мультиплеер
|
||||
score_list = [] # инициализация игрового списка, индекс игрока == индекс статистики
|
||||
for rond in range(1,10+1): # создание цикла на раунд
|
||||
print(f"{rond} round")
|
||||
for player_index in range(len(players)): # создания цикла на кол-во игроков
|
||||
print(f"Ход {players[player_index]}")
|
||||
input_text = input(":: ")
|
||||
res = scrabble(input_text)
|
||||
score_list.append(res)
|
||||
if score_list[player_index] > 0:
|
||||
score_list[player_index] += res
|
||||
print(f"Очки :: {score_list[player_index]}")
|
||||
print("--след--")
|
||||
score_top = max(score_list) # определение победителя
|
||||
score_top_index = score_list.index(score_top) # определение имени победителя
|
||||
print(f"Выйграл {players[score_top_index]}, результат {score_top}")
|
||||
print(f"Список игроков:")
|
||||
for num_player in range(len(players)): # создания цикла на вывод списка играющих, не по сортировке
|
||||
print(f"- {num_player}: {players[num_player]}, {score_list[num_player]}")
|
||||
else: # Выход из игры
|
||||
print("!Не веденны игроки, выход.")
|
||||
exit()
|
||||
|
||||
parral_game(input("- Для выхода из программы нажмите энтер без текста\n- Введите кол-во игроков: "))
|
||||
18
python/21.10.25/ex2.py
Normal file
18
python/21.10.25/ex2.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Немножечко не понял суть задания, так как на листке решение было давно уже указанно.
|
||||
backpack = {
|
||||
'Зажигалка':20, 'Компас':100, 'Фрукты':500, 'Рубашка':300,
|
||||
'Термос':1000, 'аптечка':200, 'Куртка':600, 'Бинокль':400,
|
||||
'Удочка':1300, 'Салфетки':40, 'Бутерброды':800,'Палатка':5500,
|
||||
'Спальный мешок':2500,'Изолента':250,'Котел':3000
|
||||
}
|
||||
|
||||
massa = int(input("Введите массу рюкзака :: "))*1000
|
||||
lis_no = []
|
||||
lis_ye = []
|
||||
for key, value in backpack.items():
|
||||
if value < massa:
|
||||
lis_no.append(key)
|
||||
for key, value in backpack.items():
|
||||
if value > massa:
|
||||
lis_ye.append(key)
|
||||
print(f"могу взять {lis_no}, не могу взять {lis_ye}")
|
||||
31
python/21.10.25/ex3.py
Normal file
31
python/21.10.25/ex3.py
Normal file
@@ -0,0 +1,31 @@
|
||||
note_book = {"Маша":
|
||||
{'tel':'+7922123561','vk':'vk.com/masha321','youtube':'youtube.com/masha321','telegram'
|
||||
:'t.me/masha321'},
|
||||
"Маша":
|
||||
{'tel':'+7922123561','vk':'vk.com/masha321','youtube':'youtube.com/masha321','telegram'
|
||||
:'t.me/masha321'},
|
||||
"Маша":
|
||||
{'tel':'+7922123561','vk':'vk.com/masha321','youtube':'youtube.com/masha321','telegram'
|
||||
:'t.me/masha321'},
|
||||
"Маша":
|
||||
{'tel':'+7922123561','vk':'vk.com/masha321','youtube':'youtube.com/masha321','telegram'
|
||||
:'t.me/masha321'},
|
||||
"Маша":
|
||||
{'tel':'+7922123561','vk':'vk.com/masha321','youtube':'youtube.com/masha321','telegram'
|
||||
:'t.me/masha321'},
|
||||
}
|
||||
|
||||
user_input = input("Введите имя из списка контактов: ")
|
||||
|
||||
if user_input:
|
||||
user_search = user_input[0].upper() + user_input[1:].lower()
|
||||
else:
|
||||
user_search = ""
|
||||
|
||||
if user_search in note_book:
|
||||
contact = note_book[user_search]
|
||||
print(f"Контакт: {user_search}")
|
||||
for key, value in contact.items():
|
||||
print(f"{key.capitalize()}: {value}")
|
||||
else:
|
||||
print("Контакт не найден.")
|
||||
Reference in New Issue
Block a user