• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Programowanie python

VPS Starter Arubacloud
+1 głos
268 wizyt
pytanie zadane 9 stycznia 2022 w Python przez Magnikor Początkujący (390 p.)
zamknięte 10 stycznia 2022 przez Magnikor

Zdefiniuj funkcję, która będzie obliczała energię fotonu w zależności od długości fali L: Gdzie h – stała Planka C – prędkość światła. Wykorzystaj tę funkcję do obliczenia E dla L z zakresu 10^-12 do 10^3. Następnie przedstaw zależność E(L) w formie wykresu.

L = [10**-12,10**-11,10**-10,10**-9,10**-8,10**-7,10**-6,10**-5,10**-4,10**-3,10**-2,10**-1,10**1,10**2,10**3]

def energia_fotonu(h,c):
    for l in L:
     E = (h+c)/l
    return E
print(energia_fotonu(6.62606876*10**34,299792458))

Ktoś podpowie jak się za to zabrać?

komentarz zamknięcia: Znaleziono rozwiazanie
komentarz 9 stycznia 2022 przez Oscar Nałogowiec (29,290 p.)
Stała Plancka jest malutka i jej wykładnik jest ujemny - masz tam zły znak. W ogóle to takie liczby zapisuje się w postaci naukowej, nie trzeba mnożyć.

Parametry funkcji raczej nie służą do przekazywania stałych.
komentarz 9 stycznia 2022 przez Nelson89 Dyskutant (7,720 p.)

Dokładnie, jakbyś chciał zapisać w Pythonie liczbę w postaci naukowej to wystarczy zapis:

6.62606876e-34

A gdybyś chciał w tej postaci wyświetlić liczbę, to możesz to zrobić tak:

print(f'{liczba:e}')

 

1 odpowiedź

+2 głosów
odpowiedź 9 stycznia 2022 przez Nelson89 Dyskutant (7,720 p.)
wybrane 10 stycznia 2022 przez Magnikor
 
Najlepsza

Cześć,

Twoja funkcja jest błędna, bo zwraca wynik dla ostatniego elementu z tablicy L. Tą pętle wyrzuciłbym poza funkcje, a samej funkcji obliczałbym zależność podaną w zadaniu. Czyli:

def energia_fotonu(l, h=6.62606876*10**34,c=299792458):
    E = (h+c)/l
    return E

Jako, że wartości h i c nie będą zmieniane, to możesz je zapisać jako argumenty z wartościami domyślnymi w samej funkcji, jak będziesz ją wywoływać, to nie będziesz musiał podawać tych wartości.

Teraz jedyne co musisz zrobić, to stworzyć listę na wyniki, stworzyć pętle, która wywoła funkcje energia_fotonu z odpowiednią wartością l, rezultat funkcji zapisać na liście z wynikami.

W Pythonie do tworzenia wykresów, diagramów, itp. to najlepiej użyć bibliotekę matplotlib. Na stronie tej biblioteki znajdziesz informacje jak użyc.

Pozdrawiam,

Nelson

 

komentarz 9 stycznia 2022 przez Magnikor Początkujący (390 p.)
Dzięki za pomoc, a wiesz może jak ta pętla będzie wyglądać?
1
komentarz 9 stycznia 2022 przez Nelson89 Dyskutant (7,720 p.)

Przykładowo, tak bym to zrobił, gdybym chciał mieć wyniki funkcji, która zwraca spotęgowaną liczbę:

def funkcja(liczba):
    return liczba ** 2

wyniki = list()
zakres_wartosci = [1, 2, 3]

# iteracja po elementach listy zakres_wartosci
for l in zakres_wartosci:
    w = funkcja(l)
    wyniki.append(w)

# Dalsza część programu wyświetlająca wyniki na wykresie

 

Podobne pytania

+1 głos
2 odpowiedzi 372 wizyt
pytanie zadane 24 października 2021 w Python przez Magnikor Początkujący (390 p.)
0 głosów
0 odpowiedzi 995 wizyt
pytanie zadane 2 września 2021 w Python przez Rafael Ale Nie Santi Nowicjusz (140 p.)
+1 głos
1 odpowiedź 226 wizyt
pytanie zadane 12 czerwca 2021 w Python przez Mateusz85 Początkujący (370 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...