Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Код задания 2.3.1 от 06.09.20 и попытке редакции 10.09.20.
- # Выходит ошибка:
- # Traceback (most recent call last):
- # File "D:/YD/Python/2.3/2.3.3reshayu060920snova.py", line 27, in <module>
- # print('| 7.2f | 7.2f |' % (temp_list[i], lambda_list[i]))
- #TypeError: not all arguments converted during string formatting
- def compute_lambda_t(t):
- t0 = 100 # Температура равная 100К (Кельвинов)
- lambda_0 = 884 #Тепловодность кремния при 100К, измеряется в Вт/м*К
- b = 33 #константа, подбирается экспериментально и равна 33
- lambda_t = b * (lambda_0 / (t-t0))
- return lambda_t
- # 2. спросим у пользователя границы интервала расчета температур
- t1 = float(input('t1 начальная = '))
- t2 = float(input('t2 конечная = '))
- # 3. Проверим, чтобы нижняя первая была больше второй
- if t1 >= t2 or t1 <= 100 or t1 < 200:
- print('Границы должны быть в промежутке от 200 до 1500')
- else:
- steps_quantity = 20
- temp_step = (t2-t1) / (steps_quantity - 1) # шаг именения температуры на заданном пользователем отрезке
- #5. прямо в else формируем список со значениями температур на интервале и список значений теплопроводности:
- temp_list = [t1+i*temp_step for i in range(0, steps_quantity)]
- # "i" - возможно как раз номер каждого шага
- lambda_list = [compute_lambda_t for t in temp_list]
- # 6. Продолжаем в else. Вывести в табличном виде, используя форматный вывод
- print('-'*21)
- print("| %7s | %7s |" % ("t", "L(t)"))
- print('-'*21)
- for i in range(len(temp_list)):
- print('| 7.2f | 7.2f |' % (temp_list[i], lambda_list[i]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement