Как добавить коэффициент пересчета для каждого элемента в списке? - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь добавить коэффициент преобразования (F в C) в список, сгенерированный из пользовательского ввода, для вывода в виде отдельного списка.Как мне это сделать?

Я запишу некоторый код для того, что у меня сейчас есть

userEntry = int(input("Please enter a fahrenheit:"))

listofFahrs =[userEntry]

for i in range(4):
    i +=1
    listofFahrs.append(int(input("Please enter another fahrenheit:")))
    # convert to string if need be for output
    userList = str(listofFahrs[0:6])


fahrToCels =(userEntry - 32) * 5 / 9
celsConversion = [x + fahrToCels for x in listofFahrs]

Когда я попробовал print (celsConversion), у меня было странное поведение ... Например, ввод всего 1 для всехПолучено 5 целых чисел -16,2, что на 1 градус ВЫШЕ, чем должно быть преобразование (т. Е. Предполагалось вывести -17,2

. И когда я пытаюсь ввести список, такой как 1,2,3,4,5 ... кажется, добавить один и вернуть мне список ..

На данный момент я компенсировал это, добавив -1 к fahrtoCels, но мне интересно, есть ли более чистый способ сделатьthis.

Заранее спасибо, если можете помочь!

1 Ответ

1 голос
/ 20 сентября 2019

Создайте функцию, которая принимает значения в градусах Фаренгейта и возвращает значения в градусах Цельсия, передавая каждый элемент в вашем listofFahrs этой функции, используя понимание списка.

def fahrToCels(fahr):
    return round((fahr - 32) * 5 / 9,2)

listofFahrs =[]
for i in range(5):
    listofFahrs.append(int(input("Please enter a fahrenheit value:")))

celsConversion = [fahrToCels(x)  for x in listofFahrs]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...