[Pętle] Pomoc w zadaniu

0

Cześć,
jestem tutaj nowy, więc z góry przepraszam za wszelkie pomyłki. Uczę się pythona od niedawna i mam problem z pewną grupą zadań. Może Wy umielibyście mi pomóc. Poniżej przedstawiam ich treść:

• napisz kod programu, który:
• wczyta listę nazw ras zwierząt, uzupełniając listę: rasy_zwierzat
• będzie wczytywał kolejne nazwy (ciąg znaków określający nazwę miejsca) i dodawał je do listy rasy_zwierzat aż nie wczytany zostanie pusty ciąg znaków
• dany jest słownik, który dla danej rasy przechowuje jego listę zwierząt tej rasy - np. ich imiona (słownik mogą Państwo przygotować sobie przykładowy w kodzie lub jako arkument funkcji – słownik nazywa się zwierzeta_z_rasy)
• napisz kod, który dla każdej rasy z rasy_zwierzat wyswietli ostatnie zwierzę z każdej listy tego słownika
• zaproponuj słownik waga_zwierzecia, który dla danej rasy będzie przechowywał średnią wagę tego zwierzęcia (możesz wpisać wartości "na oko")
• wybierz trzy konkretne zwierzaki ze swojego słownika zwierzeta_z_rasy i dla tych zwierzakow napisz kod, który wyliczy sumę ich wag (korzystając ze wszystkich struktur z podpunktów powyżej)

• Łańcuch pokarmowy
• dane są wszystkie struktury z zadania powyżej (jeśli ich potrzebujesz)
• utwórz nową strukture zje_mnie, która będzie dla zadanej rasy zwierzęcia wskaże listę zwierząt, które mogą zjeść to zwierzę
• napisz funkcję, które dla zadanego w argumencie konkretnego zwierzęcia (wykorzystując wszystkie struktury pomocnicze) wyświetli:
• a. łańcuch pokarmowy ras zwierząt które mogą zjeść to zwierzę i siebie wzajemnie (czyli na końcu będzie zwierzę, które już nie jest zjadane przez nikogo)
• przykładowy łańcuch "rasa_zwierza1 <- rasa_zwierza2 <- rasa_zwierza4 <- rasa_zwierza8"
• b.* zabezpiecz program żeby się nie zapętlił w nieskończoność (zastanów się kiedy to się może zdarzyć)
• c. wyświetl łańcuch przykładowych zwierząc tej rasy (czyli zamiast ras wybierz konkretne zwierzęta dla danej rasy - wybór dowolny)
• przykładowy łańcuch "Azor <- Fenek <- Pimpek <- Dumbo" lub "Skubany (kura) <- Fenek (lis) <- Pimpek (wilk) <- Dumbozaur (tyranozaur)"
• d.* rozważ: co się stanie jeśli dla danej rasy nie będziemy mieli listy zwierząt - np. będzie pusta; jak to wpłynie na rozwiązania zadań,

a to jest to co udało mi się jak na razie zrobić:

import numpy as np
#wczytuje kolejne rasy
rasy_zwierzat=['papuga', 'ryba', 'nosorozec']
count = ()
while True:
    rasy_zwierzat= input('rasa: ')
    rasy_zwierzat = rasy_zwierzat.lower()
    if not rasy_zwierzat:
        break
 #slownik
imiona=["zyzio","dyzio","nosorozec","nosek"]
zwierzeta_z_rasy = {"papuga":"zyzio", "ryba":"dyzio","nosorozec":"nosek"}

print(rasy_zwierzat)


#waga
wagi=[3,2,205]
waga_zwierzecia = {"papuga": 3, "ryba":2, "nosorozec":205}

#suma wag
sum(rasy_zwierzat(int[waga_zwierzecia))

0

Powinieneś dodawać rasy do listy.

rasa = input('rasa: ')
if not rasa == "":
    rasy_zwierzat.append(rasa)

Słownik ma zawierać listy zwierząt należących do rasy, czyli:

zwierzeta_z_rasy = {"papuga":["zyzio"], "ryba":["dyzio", "donald"],"nosorozec":["nosek"]}

Można napisać cały kod za Ciebie, ale nie tędy droga, Ty masz się nauczyć. Czytaj dokładnie polecenia i rób po kolei. Najlepiej każde polecenie zapisz jako komentarz przed kodem je realizującym.

0
maciekz napisał(a):

• napisz kod, który dla każdej rasy z rasy_zwierzat wyswietli ostatnie zwierzę z każdej listy tego słownika

Jeśli to są ćwiczenia np. z książki to powiem Ci, że takie rzeczy powinieneś raczej umieć, bo zapewne było to opisane dość dokładnie. Jeśli nie to łatwo wpisać w google coś takiego how to find last element from a list in python. Staraj się wyszukiwać w internecie jak najwięcej informacji - taka rada na przyszłość. No więc żeby wyświetlić ostatni element z listy trzeba napisać coś takiego:

list_of_digits = [1, 2, 3, 4]
print(list_of_digits[-1])
maciekz napisał(a):

• zaproponuj słownik waga_zwierzecia, który dla danej rasy będzie przechowywał średnią wagę tego zwierzęcia (możesz wpisać wartości "na oko")

Twój kod niby powinien działać, ale jest niepoprawny.

#waga
wagi=[3,2,205]
waga_zwierzecia = {"papuga": 3, "ryba":2, "nosorozec":205}

Po co deklarować listę żeby wpisać wartości do słownika? Nie dość, że zadeklarowałeś niepotrzebną listę to jeszcze jej nie używasz. Przecież te wartości 3, 2 i 205 mógłbyś po prostu do tego słownika wpisać bez deklarowania czegokolwiek.

#suma wag
sum(rasy_zwierzat(int[waga_zwierzecia))
maciekz napisał(a):

• wybierz trzy konkretne zwierzaki ze swojego słownika zwierzeta_z_rasy i dla tych zwierzakow napisz kod, który wyliczy sumę ich wag (korzystając ze wszystkich struktur z podpunktów powyżej)

W tym przypadku również Twój kod jest błędny. Czytaj dokładnie polecenia! Chodzi o zwierzaki ze słownika zwierzeta_z_rasy, a Ty wybierasz skąd chcesz.

#suma wag
sum(rasy_zwierzat(int[waga_zwierzecia))

Musiałbyś napisać mniej więcej coś takiego:

suma = 0
for key in zwierzeta_z_rasy:
    suma += wagi_zwierzecia[key]

Pisz kod po angielsku.

Jeśli chcesz pomocy z drugą częścią zadań to napisz jakiś kod i wróć tutaj z nim, bo na razie to w sumie nic napisałeś.

0

Tylko totalnie nie wiem jak zacząć te drugą część, mam zrobić list of lists w pierwszym czy jak?

0

utwórz nową strukture zje_mnie, która będzie dla zadanej rasy zwierzęcia wskaże listę zwierząt, które mogą zjeść to zwierzę

Po przeczytaniu tego wniosek nasuwa się w sumie sam. Musisz napisać za pomocą jakiejkolwiek struktury, strukturę zje_mnie, która dla wpisanej przez użytkownika rasy zwierzęcia wskaże listę zwierząt, które to wpisane przez użytkownika zwierzę mogą zjeść. Struktury w rozumieniu - listy, słowniki, tuple.

Popatrz sobie co to są struktury w ogóle w pythonie, żebyś rozumiał co autor zadania od Ciebie wymaga - https://docs.python.org/3/tutorial/datastructures.html. Na razie tyle jestem w stanie Ci pomóc, bo sam musisz wymyślić jakiej struktury użyć i jak poukładać swój kod, żeby zadanie było wykonane poprawnie. Inaczej niestety się nie nauczysz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1