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

Sigma. W jaki sposób zapisać?

42 Warsaw Coding Academy
0 głosów
1,584 wizyt
pytanie zadane 28 listopada 2019 w Python przez Meffy Użytkownik (730 p.)

Witam, 

Jak zapisać wzór z sigmą?

Wynik na ekranie: 

m = int(input("Podaj m"))
n = int(input("Podaj n"))

wynik = (n)*(1/m)/2
print(wynik)

Próbowałem coś takiego ale chyba nie o to chodzi, ktoś mógłby jakoś nakierować?

1 odpowiedź

0 głosów
odpowiedź 28 listopada 2019 przez adrian17 Mentor (353,220 p.)
To co zapisałeś to jest tylko (n/m)/2, co... tak, ma mało związku ;)

Słownie, to jest: suma 1/i dla i od M do N. Trzeba tutaj zrobić pętlą te wartości i je posumować.
komentarz 28 listopada 2019 przez Meffy Użytkownik (730 p.)
czyli powinna być pętla for?
komentarz 28 listopada 2019 przez adrian17 Mentor (353,220 p.)
Yup, to dobry pomysł :)
komentarz 29 listopada 2019 przez Meffy Użytkownik (730 p.)
m = int(input("Podaj m"))
n = int(input("Podaj n"))

wynik = (n)*(1/m)/2

def sigma(i):
    return
    for i in range(m,n):
        if wynik:   
            return
print(wynik)

Zapisałem coś takiego, ale wciąż błędnie.

Problem leży pewnie w równaniu zapisanym pod wynik. I tam trzeba poprawiać?

komentarz 29 listopada 2019 przez adrian17 Mentor (353,220 p.)

Um... po kolei.

wynik = (n)*(1/m)/2

Tutaj liczysz wartość, jak wcześniej. Zapomniałeś usunąć linię?

def sigma(i):
    return

funkcja od razu wychodzi?

    for i in range(m,n):

OK (choć tutaj masz pętlę od m do n-1, a suma jest z tego co wiem od M do N włącznie)

        if wynik:   
            return

sprawdzasz czy wartość `wynik` ... co? I wychodzisz z funkcji?

print(wynik)

Ale wiesz, że nawet nie wywołałeś tej funkcji? ;)

Podsumowując... przekombinowałeś? Albo ogólnie może powinieneś powtórzyć funkcje ;) Trzeba tylko zrobić pętlę i z zakresu M..N (jak zrobiłeś) i dodać kolejne 1/i. W Twoim kodzie nawet żadnego dodawania nie ma.

komentarz 29 listopada 2019 przez Meffy Użytkownik (730 p.)
No okej staram się jak potrafię ^^, nie mając nigdy styczności z Sigmą w szkolę jest trudno przekształcić ten wzór, nawet nie wiem od czego zacząć, żeby to potem podstawić pod program ;p
komentarz 29 listopada 2019 przez Meffy Użytkownik (730 p.)
(n)*(1/m)/2 <-- ja wcześniej pisałem coś takiego i nie wiem czy to w dobry sposob przekształcam
komentarz 29 listopada 2019 przez adrian17 Mentor (353,220 p.)

(n)*(1/m)/2

Tak jak wczoraj mówiłem, nie, to w ogóle nie ma żadnego związku z tym wzorem.

Wcześniej wyjaśniłem jak to przetłumaczyć na proste wyjaśnienie. Mogę dać jeszcze przykład:

Słownie, to jest: suma 1/i dla i od M do N

Czyli na przykład dla M=4 i N=9, to jest: 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9.

 

komentarz 29 listopada 2019 przez Meffy Użytkownik (730 p.)
To skoro jest taki wzór to nie trzeba bezpośrednio się do niego odwoływać?

def sigma(i):
        for i in range(m,n+1):
            if m > n+1:

 

Zaczałem robić coś takiego, i teraz tez nie wiem czy to idzie w dobrym kierunku.

Wiem rozumiem że skoro dajemy przedział ten m-n to idzie tak i ma sie dodawać
komentarz 29 listopada 2019 przez adrian17 Mentor (353,220 p.)

To skoro jest taki wzór to nie trzeba bezpośrednio się do niego odwoływać?

Um... nie zrozumiałem.

def sigma(i):

Argumentami są M, N, nie? Wzór jest słownie "suma odwrotności liczb od M do N". "i" jest tylko pomocniczą zmienną pozwalającą na zapisanie tego wzoru.

            if m > n+1:

Tu zupełnie nic nie trzeba porównywać. Jeszcze raz: to jest "suma odwrotności liczb od M do N". Nie ma tu żadnego "jeśli".

Podobne pytania

0 głosów
1 odpowiedź 4,944 wizyt
pytanie zadane 11 listopada 2019 w Python przez Meffy Użytkownik (730 p.)
+1 głos
1 odpowiedź 302 wizyt
pytanie zadane 23 czerwca 2020 w Matematyka, fizyka, logika przez Kacperek_code Obywatel (1,690 p.)
+1 głos
2 odpowiedzi 1,779 wizyt
pytanie zadane 8 grudnia 2016 w Matematyka, fizyka, logika przez DamianW Bywalec (2,080 p.)

93,389 zapytań

142,386 odpowiedzi

322,549 komentarzy

62,750 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...