# Практика

{% code overflow="wrap" %}

```
1. Конвертер километров.
Напишите программу, которая просит пользователя ввести расстояние в километрах и затем это расстояние преобразует в мили. Формула преобразования:
    мили = километры * 0.6214

2. Напишите функцию, которая принимает в качестве параметров время прохождения маршрута и расстояние, а возвращает среднюю скорость на маршруте

3. Расходы на авто. 
Напишите программу, которая просит пользователя ввести месячные расходы на следующие нужды, связанные с автомобилем: платеж по кредиту, страховку, бензин, техобслуживание. Затем программа должна показать общую месячную стоимость и общую годовую стоимость этих расходов.
```

{% endcode %}

{% code overflow="wrap" %}

```
4. Напишите функцию is_odd, которая получает целое число и возвращает True для нечетных чисел или False для четных.

5. Напишите функцию is_prime, которая получает целое число и возвращает True для простых чисел или False для чисел, не являющихся простыми.

6. Напишите программу, которая генерирует 100 случайных чисел и подсчитывает количество четных и нечетных случайных чисел. Используйте функцию is_odd из задачи 4.

7. Напишите программу, которая генерирует 100 случайных чисел и подсчитывает количество простых чисел. Используйте функцию is_prime из задачи 5.
```

{% endcode %}

{% code overflow="wrap" %}

```
8. Математическая разминка. 
Программа предлагает пользователю два случайных числа и случайную математическую операцию из двух: сложение или умножение. Далее пользователь вводит ответ, и если он правильный, программа выводит поздравление. Если ответ неправильный, тогда выводится правильный ответ.

9. Напишите функцию, которая получает строки в «верблюжьем регистре» (ThisIsCamelCased) и преобразует их в «змеиный регистр» (this_is_camel_cased). Измените функцию, добавив в нее аргумент separator, чтобы функция также могла выполнять преобразование к «кебаб-регистру» (this-is-camel-case).

10. При помощи функций реализуйте задачу №9 ("Угадай число") из главы "Циклы".
```

{% endcode %}

{% code overflow="wrap" %}

```
11. Напишите программу, которая дает пользователю возможность поиграть с компьютером в "Камень, ножницы, бумага". Программа должна работать следующим образом: 
    1. Когда программа запускается, генерируется случайное число в диапазоне от 1 до 3. Если число равняется 1, то компьютер выбрал камень. Если число равняется 2, то компьютер выбрал ножницы. Если число равняется 3, то компьютер выбрал бумагу. (Пока не показывайте выбор компьютера)
    2. Пользователь вводит на клавиатуре выбранный вариант "камень", "ножницы" или "бумага"
    3. Выбор компьютера выводится на экран.
    4. Победитель выбирается согласно следующим правилась:
        - если один игрок выбирает камень, а другой игрок выбирает ножницы, то побеждает камень (камень разбивает ножницы)
        - если один игрок выбирает ножницы, а другой игрок выбирает бумагу, то побеждают ножницы (ножницы режут бумагу)
        - если один игрок выбирает бумагу, а другой игрок выбирает камень, то побеждает бумага (бумага накрывает камень)
        - если оба игрока делают одинаковый выбор, то для определения победителя нужно сыграть повторный раунд
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://timosii.gitbook.io/py_tutorial/funkcii/praktika.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
