форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
27 строки
659 B
Python
27 строки
659 B
Python
import random
|
|
|
|
def func(x, A, B):
|
|
if x > A:
|
|
return B
|
|
elif 0 <= x <= A:
|
|
return (2 * B * x / A) - (B * x**2 / A**2)
|
|
elif -A <= x < 0:
|
|
return (2 * B * x / A) + (B * x**2 / A**2)
|
|
else:
|
|
return -B
|
|
|
|
x_values = [random.uniform(-5, 12) for _ in range(100)]
|
|
|
|
params = [(5, 7), (3, 4), (8, 12)]
|
|
|
|
with open('test.txt', 'w', encoding='utf-8') as f:
|
|
for A, B in params:
|
|
f.write(f'\nПараметры: A = {A}, B = {B}\n')
|
|
f.write('xi yi\n')
|
|
f.write('----------------\n')
|
|
|
|
for x in x_values:
|
|
y = func(x, A, B)
|
|
f.write(f'{x:10.5f} {y:10.5f}\n')
|
|
|