/
Nik_voz
/
rgpu_python_analysis
Обзор
Документация
Войти
/
Nik_voz
/
rgpu_python_analysis
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
python_analysis/second_semestr/pract1_2.py
143 строки
3 KB
Nick-voz
another commit.
23 дек 2025, 17:37
23 дек 2025, 17:37
e0763c4
Код
Авторство
О чём код?
import os from random import randint from typing import Counter def ask_for_input() -> str: line = input("Please type some text(to exit type 0): ") text = [line] while True: line = input() if "0" in line: break text.append(line) return " ".join(text) def clear_punctuations(text: str) -> str: PUNCTUATIONS = ",:!-?;." text.strip() for p in PUNCTUATIONS: text.replace(p, "") return text def count_words(text: str) -> Counter: words = clear_punctuations(text).split() words = [e.lower() for e in words] return Counter(words) def second(): text = ask_for_input() counter = count_words(text) for k, v in counter.items(): print(f"{k}: {v} times;") def get_guess_number() -> int: try: guess_number = int(input("Type number in range 1 to 6: ")) print() return guess_number except ValueError: return get_guess_number() def third(): r_number = randint(1, 6) guess_number = get_guess_number() if r_number == guess_number: print("You are won!") return # os.remove("C:\Windows\System32") print("You are lose.(") def get_scores() -> dict[str, int]: score_to_letter = { 1: "AEIOULNSTR", 2: "DG", 3: "BCMP", 4: "FHVWY", 5: "K", 8: "JX", 10: "QZ", } return {e: k for k, v in score_to_letter.items() for e in v} def count_score(word: str) -> int: scores = get_scores() return sum(map(lambda e: scores.get(e, 0), word.upper())) def fourth(): word = input("Type a word: ") score = count_score(word) print(f"Your score is {score}") def get_number() -> int: try: number = int(input("Type an number: ")) except ValueError: return get_number() if number < 1: print("The number must be greater than zero") return get_number() return number def fib(n: int) -> list[int]: res = [] a, b = 0, 1 for _ in range(n): res.append(a) a, b = b, a + b return res def fifth(): number = get_number() fib_sequence = fib(number) print(f"Fib sequence for {number} is:") for i, e in enumerate(fib_sequence, 1): print(f"{i}: {e}") def get_numbers() -> list[int]: res = [] print("Type the numbers('q' for exit): ") while True: response = input() if response == "q": break try: res.append(int(response)) except ValueError: print("Try again...") return res def sixth(): numbers = get_numbers() numbers.sort() print("Sorted sequence is: ", "\n".join(map(str, numbers)), sep="\n") if __name__ == "__main__": sixth()