В Python существует множество готовых инструментов. В том числе, функция, возвращающая случайное число. Чтобы лучше понять, какая палитра инструментов у нас имеется, нужно изучить возможности стандартной библиотеки Python.
Цель рабочего дня — изучить и применить расширенные возможности стандартной библиотеки Python.
Сегодня вы:
Все возможности языка Python описаны в большом наборе python-файлов — библиотеке.
Многие программисты любят Python именно за широкий набор возможностей стандартной библиотеки и модулей.
Встроенные возможности (исполняются сразу)
★ Модуль random (работа со случайными величинами)
★ Модуль time (получение и подсчёт времени)
Модуль turtle (графические примитивы)
Модуль os (взаимодействие с системой ПК)
Модуль random содержит инструменты для генерирования случайных величин.
Полезные функции:
randint(a, b) # Сгенерировать случайное целое число больше или равное a и меньше или равное b
random() # Сгенерировать случайную десятичную дробь от 0 (включительно) до 1 (не включительно)
Для подключение и использования модулей существует 3 способа:
Подключение всего модуля целиком.
При использовании команды нужно указать, из какого она модуля.
import random
number = random.randint(0, 9)
Подключение одной функции из модуля.
При вызове функции указывается просто её имя.
from random import randint
number = randint(0, 9)
Подключение всех функций модуля.
При вызове функции указывается просто её имя.
from random import *
number = randint(0, 9)
from random import randint
lottery_num = randint(1000, 9999)
print(lottery_num)
Задача. Написать программу для жеребьёвки команд по водному поло. В результате должна печататься случайная пара номеров команд, которые встретятся в отборочном матче.
from random import randint
total = int(input("Число участвующих команд:"))
participant_1 = randint(1, total)
participant_2 = randint(1, total)
print("Команда", participant_1, "- команда", participant_2)
Задача. Написать программу распределения футболистов по двум командам на время тренировки. Пользователь по одному вводит имена спортсменов («off» — остановить ввод) и для каждого программа печатает случайную команду.
from random import randint
name = input("Имя спортсмена (off - завершить):")
while name != "off":
team_num = randint(1, 2)
print(name, ", команда", team_num)
name = input("Имя спортсмена (off - завершить):")
Перед тем, как продолжить:
Модуль time содержит инструменты для работы с величинами, связанными со временем.
Полезные функции:
time() # Возвращает количество секунд, прошедшее с начала эпохи (для UNIX-систем это 1 января 1970 года)
sleep(seconds) # Приостановить выполнение программы на число секунд seconds
round(number, digits) # Округлить число до digits-знаков после точки
from time import *
start = time()
print(start)
>> 1709568816.5108
sleep(5) # Приостановим выполнение программы на 5 секунд
end = time()
total = round(end - start, 2)
print(total)
>> 5.04
Задача. Написать программу-секундомер для подсчёта времени заплыва кролем в секундах. При запуске программа предлагает ввести «1», чтобы начать отсчёт. При вводе «0» секундомер останавливается и выводится число секунд.
from time import time
stopwatch = input("1 - старт, 0 - стоп:")
while stopwatch != "0":
if stopwatch == "1":
start = time()
else:
print("Действие не найдено!")
stopwatch = input("0 - стоп:")
end = time()
total = end-start
print("Общее время:", round(total, 2), "c")
Задача. В быстрых шахматах на принятие решений для всех ходов игроку даётся 30 минут. Программа должна:
from time import time
rest = 30
move = ""
beginning = time()
while rest > 0 and move != "off":
move = input("Ваш ход (off - сдаться):")
end = time()
rest = 30 - (end - beginning) / 60
print("Осталось", int(rest), "минут из 30")
Перед тем, как продолжить: