Potrzebuje pomocy w napisaniu programu w Pythonie

0

Witam potrzebuje pomocy w napisaniu programu w Pythonie (jest to raczej proste zadanie lecz jestem totalnie zielony w pythonie). Treść znajduje się w poniżej załączonym zdjęciu.
Jeśli komuś to pomorze to mogę wysłać notatkę jaką wcześniej dostałem od nauczyciela.

Bardzo prosze o pomocIMG_20211103_190500.jpg

2

Ja też, odkąd oczy otworzę potrzebuję pomocy w programach w Pythonie :). Pytanie, co już Masz, gdzie szukałeś rozwiązania, i dlaczego nie działało.
PS Co mówi debugger?

1

Masz dwa wyjścia:

  1. Wystawić ogłoszenie w dziale drobne ogłoszenia (za $) jeśli oczekujesz gotowca.
  2. Podjąć inicjatywę i nie iść na skróty - Spróbować coś napisać samemu i ew. problemy skonfrontować tutaj.

Wybierz mądrze.

0

Dzięki, rzeczywiście trzeba się wziąć na "chwile" do roboty i samemu nauczyć się tego. Dzięki na razie 😁

2

@Socała:
Nudziło mi się bo dawno nie klepałem, więc masz przykład :D Dopisz sobie kontrole błędów, bo wykładowca na pewno zwróci na to uwagę.

def create_list_from_range(start: int, end: int) -> list[int]:
    return list(range(start, end))

def count_even_and_odd(input_list: list[int]) -> tuple:
    even = len(list(filter(lambda x: x % 2 == 0, input_list)))
    odd = len(input_list) - even
    return even, odd

def greatest_and_lowest(input_list: list[int]) -> tuple:
    return max(input_list), min(input_list)

def numbers_greater_than_arithmetic_average(input_list: list[int]) -> list[int]:
    arithmetic_average = sum(input_list) / len(input_list)
    greater = filter(lambda x: x > arithmetic_average, input_list)
    return list(greater)

def _cast_to_str(input: list[int] | tuple) -> list[str]:
    return [str(x) for x in input]

if __name__ == "__main__":
    start = int(input("Podaj poczatek zakresu: "))
    end = int(input("Podaj koniec zakresu: "))
    main_list = create_list_from_range(start, end)

    greatest_and_lowest_num = greatest_and_lowest(main_list)
    even_and_odd = count_even_and_odd(input_list=main_list)
    greater_than_average = numbers_greater_than_arithmetic_average(input_list=main_list)
    print("Liczba pazystych/niepazystych "+ ", ".join(_cast_to_str(input=even_and_odd)),
          "Liczby wieksze niz srednia arytmetyczna: "+", ".join(_cast_to_str(input=greater_than_average)),
          "Najwieksza/najmniejsza liczba z zakresu: "+", ".join(_cast_to_str(input=greatest_and_lowest_num)),
          sep="\n")


>>> Podaj poczatek zakresu: 10
>>> Podaj koniec zakresu: 50
>>> Liczba pazystych/niepazystych 20, 20
>>> Liczby wieksze niz srednia arytmetyczna: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49
>>> Najwieksza/najmniejsza liczba z zakresu: 49, 10

>>> Process finished with exit code 0
1

Zawsze mnie ciekawi po co ludzie chcą programować w czymś na czym się nie znają? Jaki to ma cel ? Jeśli nie umiesz teraz i nie chcesz sie nauczyc tylko spisac gotowca to po co? W zyciu i tak nie bedziesz w tym programowal o ile w ogóle. Nie chcialbym trafic nigdy w zyciu do takiego chirurga jakim ty bylbys "programista"

0
>>> import random
>>> import statistics
>>>
>>> start, stop = 45, 98
>>> length = 25
>>> l = random.choices(range(start, stop+1), k=length)
>>> l
[78, 89, 74, 84, 45, 71, 83, 86, 78, 72, 86, 80, 89, 89, 93, 46, 47, 46, 92, 91, 71, 72, 70, 78, 76]
>>> min(l)
45
>>> max(l)
93
>>> len([i for i in l if i % 2])
10
>>> len([i for i in l if not i % 2])
15
>>> mean = statistics.mean(l)
>>> mean
75.44
>>> [i for i in l if i > mean]
[78, 89, 84, 83, 86, 78, 86, 80, 89, 89, 93, 92, 91, 78, 76]

Btw, najpierw zadanie mówi o liście, a potem nagle o tablicy; źle to świadczy o nauczycielu i autorze zadania (lista to list a tablica array.array).

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