Advertisement
Vitaliy_Novichikhin

2.3.1-2.3.3 my comments

Sep 9th, 2020 (edited)
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.10 KB | None | 0 0
  1. # Решаем задачу 2.3.3, текст задачи в пункте 2.3.1
  2. # Записываем формулу в функцию
  3. def compute_lambda(t):
  4.     b = 33 # константа, выведенная экспериментальным путём
  5.     l_0 = 884 # теплопроводность кремния при 100 К
  6.     t_0 = 100 # температура равная 100 К
  7.     y = b * (l_0 / (t - t_0))
  8.     return y
  9. # 2. Cпросим у юзера границы интервала температур для подсчётов
  10. t1 = float(input()) # нижняя граница, сперва по ошибке писал наоборот input(float()) выходила ошибка
  11. t2 = float(input()) # верхняя граница
  12. # 3. Проверим, чтобы верхняя граница была выше нижней, а нижняя была выше 100
  13. if t1 >= t2 or t1 <= 100:
  14.     print('неверные границы температур')
  15. # 4. В противном случае определить количество значений на интервале и посчитать шаг изменения температуры
  16. else:
  17.     n = 20 # количество значений на интервале (для расчёта?)
  18.     h = (t2-t1) / (n-1)
  19.     # 5. Сформировать список
  20.     # со значениями температур на интервале
  21.     # и список значений теплопроводности
  22.     t_list = [t1 + i * h for i in range(0, n)] # список значения температур
  23.     lambda_list = [compute_lambda(t) for t in t_list] # переменную t подставляем (придаем значение последовательно) в каждое значение списка t_list для расчёта формулы
  24.     # 6. Выведем таблично используя форматный вывод
  25.     print('-'*25)
  26.     print('| %-1s |    %-4s   |  %4s |' % ("#", "temp", "L(t)")) # форматный вывод для строк имеет букву s, если
  27.     print('-' * 25)
  28.     for i in range(len(t_list)): # прописываем цикл на длину количества температур, по сути прописываем количество получаемых значений списка,
  29.     # количество значение в списке по счёту
  30.  
  31.  
  32.         print('| %-1d | %7.2f | %7.2f |' % (i+1, t_list[i], lambda_list[i])) # "i" подставляет каждое значение по счёту (по номеру последовательно),
  33.     # i знает, что только 20 значений т.к оно прописывается в цикле в начале, т.к. там оно ограничено длиной значений списка
  34.  
  35.     print('-' * 25)
  36.     print('finish part A')
  37.  
  38. # Какой я молодец, что повторил решение этой задачи, стал более понятен форматный вывод как с цифрами, так и текстом.
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement