1. В области 12 районов. Известны количество жителей (в тысячах человек) и площадь (в км2) каждого района. Определить среднюю плотность населения по области в целом. Решить задачу используя циклическую конструкцию for. population = [] area = []
for i in range(1, 13): population.append(int(input(f"Введите количество жителей {i}-го района (в тысячах): "))) area.append(int(input(f"Введите площадь {i}-го района (в км2): ")))
total_population = 0 total_area = 0
for i in range(12): total_population += population[i] * 1000 total_area += area[i]
average_density = total_population / total_area print(f"Средняя плотность населения области: {average_density} человек/км2")
2.Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Написать программу, указывающую, к какому дню рождения подарок превысит 100$. Решить задачу используя циклическую конструкцию while.
gift = 1 age = 1 day = 1
while gift <= 100: gift = gift * 2 + age age += 1 day += 1
print(f"Подарок превысит 100$ на {day}-й день рождения.")
3. Натуральное число, в записи которого n цифр, называется числом Армстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до к. def is_armstrong(number): """Проверяет, является ли число числом Армстронга.""" digits = [int(digit) for digit in str(number)] n = len(digits) return sum(digit ** n for digit in digits) == number
def find_armstrong_numbers(k): """Находит все числа Армстронга от 1 до k.""" armstrong_numbers = [] for i in range(1, k + 1): if is_armstrong(i): armstrong_numbers.append(i) return armstrong_numbers k = int(input("Введите значение k: ")) armstrong_numbers = find_armstrong_numbers(k) print(f"Числа Армстронга от 1 до {k}: {armstrong_numbers}")
4. Три точки заданы своими координатами X(x1, x2), Y(y1, y2) и Z(z1, z2). Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный. Вычисления оформить в виде функции.
import math x1=int(input("Координата X точки X.")) x2=int(input("Координата y точки X.")) y1=int(input("Координата X точки y.")) y2=int(input("Координата y точки y.")) z1=int(input("Координата X точки z.")) z2=int(input("Координата y точки X.")) def find_min_angle_point(x1, x2, y1, y2, z1, z2): """ Находит и печатает координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный.
Args: x1: Координата X точки X. x2: Координата Y точки X. y1: Координата X точки Y. y2: Координата Y точки Y. z1: Координата X точки Z. z2: Координата Y точки Z. """ angle_x = math.atan2(x2, x1) angle_y = math.atan2(y2, y1) angle_z = math.atan2(z2, z1) min_angle = min(angle_x, angle_y, angle_z) if min_angle == angle_x: print(f"Точка с минимальным углом: X({x1}, {x2})") elif min_angle == angle_y: print(f"Точка с минимальным углом: Y({y1}, {y2})") else: print(f"Точка с минимальным углом: Z({z1}, {z2})") find_min_angle_point(x1,x2,y1,y2,z1,z2)
population = []
area = []
for i in range(1, 13):
population.append(int(input(f"Введите количество жителей {i}-го района (в тысячах): ")))
area.append(int(input(f"Введите площадь {i}-го района (в км2): ")))
total_population = 0
total_area = 0
for i in range(12):
total_population += population[i] * 1000
total_area += area[i]
average_density = total_population / total_area
print(f"Средняя плотность населения области: {average_density} человек/км2")
2.Мой богатый дядюшка подарил мне один доллар в мой первый день рождения.
В каждый день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Написать программу, указывающую, к какому дню рождения подарок превысит 100$.
Решить задачу используя циклическую конструкцию while.
gift = 1
age = 1
day = 1
while gift <= 100:
gift = gift * 2 + age
age += 1
day += 1
print(f"Подарок превысит 100$ на {day}-й день рождения.")
3. Натуральное число, в записи которого n цифр, называется числом Армстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до
к.
def is_armstrong(number):
"""Проверяет, является ли число числом Армстронга."""
digits = [int(digit) for digit in str(number)]
n = len(digits)
return sum(digit ** n for digit in digits) == number
def find_armstrong_numbers(k):
"""Находит все числа Армстронга от 1 до k."""
armstrong_numbers = []
for i in range(1, k + 1):
if is_armstrong(i):
armstrong_numbers.append(i)
return armstrong_numbers
k = int(input("Введите значение k: "))
armstrong_numbers = find_armstrong_numbers(k)
print(f"Числа Армстронга от 1 до {k}: {armstrong_numbers}")
4. Три точки заданы своими координатами X(x1, x2), Y(y1, y2) и Z(z1, z2). Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный. Вычисления оформить в виде функции.
import math
x1=int(input("Координата X точки X."))
x2=int(input("Координата y точки X."))
y1=int(input("Координата X точки y."))
y2=int(input("Координата y точки y."))
z1=int(input("Координата X точки z."))
z2=int(input("Координата y точки X."))
def find_min_angle_point(x1, x2, y1, y2, z1, z2):
"""
Находит и печатает координаты точки, для которой угол между осью абсцисс
и лучом, соединяющим начало координат с точкой, минимальный.
Args:
x1: Координата X точки X.
x2: Координата Y точки X.
y1: Координата X точки Y.
y2: Координата Y точки Y.
z1: Координата X точки Z.
z2: Координата Y точки Z.
"""
angle_x = math.atan2(x2, x1)
angle_y = math.atan2(y2, y1)
angle_z = math.atan2(z2, z1)
min_angle = min(angle_x, angle_y, angle_z)
if min_angle == angle_x:
print(f"Точка с минимальным углом: X({x1}, {x2})")
elif min_angle == angle_y:
print(f"Точка с минимальным углом: Y({y1}, {y2})")
else:
print(f"Точка с минимальным углом: Z({z1}, {z2})")
find_min_angle_point(x1,x2,y1,y2,z1,z2)