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

question-closed Programowanie python

Object Storage Arubacloud
+1 głos
298 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,320 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 387 wizyt
pytanie zadane 24 października 2021 w Python przez Magnikor Początkujący (390 p.)
0 głosów
0 odpowiedzi 1,050 wizyt
pytanie zadane 2 września 2021 w Python przez Rafael Ale Nie Santi Nowicjusz (140 p.)
+1 głos
1 odpowiedź 230 wizyt
pytanie zadane 12 czerwca 2021 w Python przez Mateusz85 Początkujący (370 p.)

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...