Это, по-видимому, популярный вопрос для интервью.
Есть 2 файла CSV с данными о динозаврах. Нам нужно запросить их, чтобы они вернули динозавров, удовлетворяющих определенному условию.
Примечание. Мы не можем использовать дополнительные модули, такие как q, f sql, csvkit et c.
file1.csv:
NAME,LEG_LENGTH,DIET
Hadrosaurus,1.2,herbivore
Struthiomimus,0.92,omnivore
Velociraptor,1.0,carnivore
Triceratops,0.87,herbivore
Euoplocephalus,1.6,herbivore
Stegosaurus,1.40,herbivore
Tyrannosaurus Rex,2.5,carnivore
file2.csv
NAME,STRIDE_LENGTH,STANCE
Euoplocephalus,1.87,quadrupedal
Stegosaurus,1.90,quadrupedal
Tyrannosaurus Rex,5.76,bipedal
Hadrosaurus,1.4,bipedal
Deinonychus,1.21,bipedal
Struthiomimus,1.34,bipedal
Velociraptor,2.72,bipedal
используя forumla: speed = ((STRIDE_LENGTH / LEG_LENGTH) - 1) * SQRT (LEG_LENGTH * g), где g = 9,8 м / с ^ 2
Напишите программу для читать файлы csv и печатать только имена двуногих динозавров, отсортированные по скорости от самого быстрого к самому медленному.
В SQL это было бы просто:
select f2.name from
file1 f1 join file2 f2 on f1.name = f2.name
where f1.stance = 'bipedal'
order by (f2.stride_length/f1.leg_length - 1)*pow(f1.leg_length*9.8,0.5) desc
Как это можно сделать в python?