Ezt a feladatot kellene lekódolnom pythonban. Ségítséget kérnék?
Készítsd el a hogolyo_csata nevű függvényt, ami egy listát vár paraméterként, ami a hógolyó csata egyes köreit tartalmazza, az egyes elemek dictionary típusúak.
A függvény egy szótárral tér vissza, ami tartalmazza az egyes emberekre vonatkozó statisztikákat.
Egy kör adatai között megtalálható a játékos, valamint a játékosokhoz tartozó körönkénti statisztika.
Egy kör:
{
'Bence': {
'eldobott_hogolyok': 4,
'talalt': 1
},
'Gabor': {
'eldobott_hogolyok': 16,
'talalt': 6,
'fejtalalat': 1
}, 'Zsolt': {
'eldobott_hogolyok': 28,
},
'Imre': {
'eldobott_hogolyok': 4,
'talalt': 1,
'fejtalalat': 1
},
'Sandor': {
'eldobott_hogolyok': 17,
'talalt': 7 }
}
A függvény ilyen köradatokból álló listát kap paraméterként.
Mindig helyes paraméterezéssel hívjuk meg a függvényt, rossz inputra nem kell felkészülni!
Egy minimális input:
[ {
}, {
'Tamas': {
'eldobott_hogolyok': 4,
'talalt': 1
},
'Ferenc': {
'eldobott_hogolyok': 16,
'talalt': 6,
'fejtalalat': 1
}, 'Csaba': {
'eldobott_hogolyok': 28,
}
Tamas': {
'eldobott_hogolyok': 2,
'talalt': 2
},
'Ferenc': {
'eldobott_hogolyok': 3,
'talalt': 2,
'fejtalalat': 1
}, 'Csaba': {
'eldobott_hogolyok': 4,
'talalt': 2,
'fejtalalat': 1
Ennek outputja:
{
"Tamas": {
"eldobott_hogolyok": 6,
"talalt": 3,
"fejtalalat": 0
},
"Ferenc": {
"eldobott_hogolyok": 19,
"talalt": 8,
"fejtalalat": 2
}, "Csaba": {
"eldobott_hogolyok": 32,
"talalt": 2,
"fejtalalat": 1
} }
Ezt a feladatot kéne lekódolnom pythonban. A feladat röviden h a függvény kap egy listát ami neveket(kulcs) és dobás adatokat(érték) tartalmaz. Egy új dictionary-ben kellene visszaadjam h ki mennyit dobott összesen mennyi volt az össz találat és hány fejdobás volt majd ezt kell return-ölnöm ugyan olyan formában ahogy a példában van. Szóval csak össze kéne adjam a megfelelő számokat dee vmiért nem akar működni.
Töltsd fel valahová az eddigi kódodat!
Pl.: [link]
ha leakarod egyszerűsíteni: [link]
és akkor kilehet ilyet hozni (ami még nem felel meg a feladatnak, de amúgy se az én dolgom megírni):
Tamas
{'eldobott_hogolyok': 6, 'talalt': 3}
Ferenc
{'eldobott_hogolyok': 19, 'fejtalalat': 2, 'talalt': 8}
Csaba
{'eldobott_hogolyok': 32, 'fejtalalat': 1, 'talalt': 2}
Ez nem túl optimális valszeg, de megoldja:
from operator import add
from functools import reduce
from collections import Counter
from pandas import DataFrame
{key: dict(reduce(add, (Counter(x) for x in DataFrame(input_dict)[key]))) for key in input_dict[0]}
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!