24 svar
146 visningar
destiny99 behöver inte mer hjälp
destiny99 7947
Postad: 26 okt 2022 20:10 Redigerad: 26 okt 2022 20:11

Hur får jag första raden ?

Ingenting kommer ut efter välkommen osv

Lindehaven 820 – Lärare
Postad: 26 okt 2022 20:28

Du har än så länge endast definierat funktionen numbers(). För att exekvera funktionen numbers() behöver du anropa den.

destiny99 7947
Postad: 26 okt 2022 20:31
Lindehaven skrev:

Du har än så länge endast definierat funktionen numbers(). För att exekvera funktionen numbers() behöver du anropa den.

Jag har väl anropat den med return numbers??

destiny99 7947
Postad: 26 okt 2022 20:40

Nu kommer detta ut ...

Visa spoiler

Skriv ditt dolda innehåll här

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 20:50

Nu får vi vara försiktiga!

Det finns ingen variabel som heter numbers. Du försöker returnera och printa "numbers" som inte existerar.

Det du förmodligen vill printa är i eftersom i antar värdena [11, 17], du ska inte heller returnera något och du ska inte kalla på funktionen inuti funktionen. Nu vet jag inte vad det heter i Python men du kommer nog får stack overflow eftersom du rekursivt nu kallar på numbers() oändligt många gånger. Kalla på numbers Utanför funktionen istället. :)

destiny99 7947
Postad: 26 okt 2022 20:52 Redigerad: 26 okt 2022 20:58
Dracaena skrev:

Nu får vi vara försiktiga!

Det finns ingen variabel som heter numbers. Du försöker returnera och printa "numbers" som inte existerar.

Det du förmodligen vill printa är i eftersom i antar värdena [11, 17], du ska inte heller returnera något och du ska inte kalla på funktionen inuti funktionen. Nu vet jag inte vad det heter i Python men du kommer nog får stack overflow eftersom du rekursivt nu kallar på numbers() oändligt många gånger. Kalla på numbers Utanför funktionen istället. :)

Händer ingenting...

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 21:00 Redigerad: 26 okt 2022 21:04

Nej, det fungerar inte heller.

Låt oss gå igenom lite basics. 

När vi deklarerar en funktion i python så måste vi använda def, sedan måste vi ge funktionen ett namn och sist men inte minst så anger vi parametrar inuti paranteserna. Låt mig ge dig ett exempel:

def numbers():
	do something

Vi kan också ta emot argument:

def numbers(list_of_numbers, small_number, big_number):
	do something

 

Låt oss ta ett simpelt exempel där jag vill skriva ut multiplikationstabellen för 3 upp till n. Det skulle se ut så här:

def multiple_of_three(n):
    for i in range(0, n):
        print(3*i)

multiple_of_three(7)

Ser du skillnaden? 

Prova köra följande så ser du nog vad jag menade:

def recusive_calls():
    print("Hello")
    recusive_calls()

recusive_calls()

För att göra det ännu tydligare om du blir förvirrad, prova köra följande som pausar 1 sec efter varje print:

def recusive_calls():
    print("Hello")
    time.sleep(1)
    recusive_calls()

recusive_calls()
destiny99 7947
Postad: 26 okt 2022 21:05
Dracaena skrev:

Nej, det fungerar inte heller.

Låt oss gå igenom lite basics. 

När vi deklarerar en funktion i python så måste vi använda def, sedan måste vi ge funktionen ett namn och sist men inte minst så anger vi parametrar inuti paranteserna. Låt mig ge dig ett exempel:

def numbers():
	do something

Vi kan också ta emot argument:

def numbers(list_of_numbers, small_number, big_number):
	do something

 

Låt oss ta ett simpelt exempel där jag vill skriva ut multiplikationstabellen för 3 upp till n. Det skulle se ut så här:

def multiple_of_three(n):
    for i in range(0, n):
        print(3*i)

multiple_of_three(7)

Ser du skillnaden? 

Prova köra följande så ser du nog vad jag menade:

def recusive_calls():
    print("Hello")
    recusive_calls()

recusive_calls()

För att göra det ännu tydligare om du blir förvirrad, prova köra följande som pausar 1 sec efter varje print:

def recusive_calls():
    print("Hello")
    time.sleep(1)
    recusive_calls()

recusive_calls()

Jag har provat att köra men har problem att skapa min egen...

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 21:11

Börja med att försöka fixa till din funktion numbers mha exemplet jag gav ovan. 

Om du känner dig helt vilse när det kommer till Python så rekommenderar jag att du kikar lite på youtube och följer med i exemplerna. Det finns mycket med resurser, exempelvis denna:

https://www.youtube.com/watch?v=_uQrJ0TkZlc

Det blir annars svårt att hjälpa dig eftersom vi i princip kommer behöva göra uppgiften åt dig och jag lovar dig att när det kommer till programmering så lär man sig ingenting om man inte försöker själv! Det är precis som matten, du minns lösningen till en specifik uppgift men kommer inte kunna återskapa det. 

 

Prova kika lite på youtube, google runt lite osv och försök fixa till din funktion och se om du kan ta dig vidare med uppgiften. Om något är oklart så finns vi här så klart. :)

destiny99 7947
Postad: 26 okt 2022 21:16
Dracaena skrev:

Börja med att försöka fixa till din funktion numbers mha exemplet jag gav ovan. 

Om du känner dig helt vilse när det kommer till Python så rekommenderar jag att du kikar lite på youtube och följer med i exemplerna. Det finns mycket med resurser, exempelvis denna:

https://www.youtube.com/watch?v=_uQrJ0TkZlc

Det blir annars svårt att hjälpa dig eftersom vi i princip kommer behöva göra uppgiften åt dig och jag lovar dig att när det kommer till programmering så lär man sig ingenting om man inte försöker själv! Det är precis som matten, du minns lösningen till en specifik uppgift men kommer inte kunna återskapa det. 

 

Prova kika lite på youtube, google runt lite osv och försök fixa till din funktion och se om du kan ta dig vidare med uppgiften. Om något är oklart så finns vi här så klart. :)

Jag kikar på youtube ,angående googla vet jag ej vad du menar med det. Pluggakuten är ju bra källa? 

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 21:19

Jag menade mer typ i samma syfte som man brukar använda google!

Men okej, är du med på vad du måste justera i din funktion för att den ska fungera som du förväntar dig att den ska?

destiny99 7947
Postad: 26 okt 2022 21:20
Dracaena skrev:

Jag menade mer typ i samma syfte som man brukar använda google!

Men okej, är du med på vad du måste justera i din funktion för att den ska fungera som du förväntar dig att den ska?

Inte riktigt än. Jag tänker fortfarande faktiskt..

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 21:21

Om vi förenklar problemet en aning.

Kan du göra en funktion som heter något valfritt och skriver ut alla tal från 1-10? Använd gärna mitt exempel ovan som stöd.

destiny99 7947
Postad: 26 okt 2022 21:59 Redigerad: 26 okt 2022 22:02
Dracaena skrev:

Om vi förenklar problemet en aning.

Kan du göra en funktion som heter något valfritt och skriver ut alla tal från 1-10? Använd gärna mitt exempel ovan som stöd.

Laguna Online 30506
Postad: 26 okt 2022 22:07

Har du provkört?

destiny99 7947
Postad: 26 okt 2022 22:12
Laguna skrev:

Har du provkört?

Yes Det gick!!

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 22:32

Kan du nu göra exakt samma sak utan att ta emot nn som ett argument?

dvs, kan du justera funktionen så att:

def numbers():
	do something

Resulterar i exakt samma beteende?

destiny99 7947
Postad: 26 okt 2022 22:34 Redigerad: 26 okt 2022 22:36
Dracaena skrev:

Kan du nu göra exakt samma sak utan att ta emot nn som ett argument?

dvs, kan du justera funktionen så att:

def numbers():
	do something

Resulterar i exakt samma beteende?

Vi ska se om jag förstår dig rätt.. n ska alltså bort överallt nu?

Laguna Online 30506
Postad: 26 okt 2022 22:39
destiny99 skrev:
Laguna skrev:

Har du provkört?

Yes Det gick!!

Jag tror att 10 inte skrevs ut.

destiny99 7947
Postad: 26 okt 2022 22:41 Redigerad: 26 okt 2022 22:43
Laguna skrev:
destiny99 skrev:
Laguna skrev:

Har du provkört?

Yes Det gick!!

Jag tror att 10 inte skrevs ut.

Nu blir koden såhär 

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 23:13

Ja, det stämmer, förutom att du skriver ut 1-9 som Laguna påpekade men vi vill ha 1-10 men det tror jag du vet hur man ska lösa. 

Okej, känner du dig nu redo för att försöka tackla din uppgift?

Den smidigaste lösningen involverar en for loop i en for loop men det blir nog lite komplicerat och förvirrande för tillfället så det kanske är bättre att du försöker lösa den biten med en mindre effektiv metod först så du får en känsla av hur man gör.

destiny99 7947
Postad: 26 okt 2022 23:14
Dracaena skrev:

Ja, det stämmer, förutom att du skriver ut 1-9 som Laguna påpekade men vi vill ha 1-10 men det tror jag du vet hur man ska lösa. 

Okej, känner du dig nu redo för att försöka tackla din uppgift?

Den smidigaste lösningen involverar en for loop i en for loop men det blir nog lite komplicerat och förvirrande för tillfället så det kanske är bättre att du försöker lösa den biten med en mindre effektiv metod först så du får en känsla av hur man gör.

Jo jag vet nu. Tanken med uppgiften är att använda för loop , return och matris 

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 23:28

Aha, du kan konstruera matrisen för hand om du vill (inte optimalt) eller så kan du använda dig av numpy eller for - loopar. Numpy är blixt snabbt eftersom det är skriven i C men det är nog inte tanken att du ska använda dig av andra libs.

Så då återstår att göra matrisen för hand eller skapa den mha två for-loopar, En löper via kolumn och en via rad.

destiny99 7947
Postad: 26 okt 2022 23:32 Redigerad: 26 okt 2022 23:33
Dracaena skrev:

Aha, du kan konstruera matrisen för hand om du vill (inte optimalt) eller så kan du använda dig av numpy eller for - loopar. Numpy är blixt snabbt eftersom det är skriven i C men det är nog inte tanken att du ska använda dig av andra libs.

Så då återstår att göra matrisen för hand eller skapa den mha två for-loopar, En löper via kolumn och en via rad.

Yes ska klura ut detta :) 2 for loopar låter typ easy att börja med känns det som och sen får man försöka få till så att man får antal rader o kolumner så att siffror ej kommer i vertikalled.

Fermatrix 7841 – Fd. Medlem
Postad: 26 okt 2022 23:55

Precus, experimentera lite :)

Svara
Close