Hur får jag första raden ?
Ingenting kommer ut efter välkommen osv
Du har än så länge endast definierat funktionen numbers(). För att exekvera funktionen numbers() behöver du anropa den.
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??
Nu kommer detta ut ...
Visa spoiler
Skriv ditt dolda innehåll här
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. :)
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...
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()
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...
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. :)
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?
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?
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..
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.
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.
Har du provkört?
Laguna skrev:Har du provkört?
Yes Det gick!!
Kan du nu göra exakt samma sak utan att ta emot som ett argument?
dvs, kan du justera funktionen så att:
def numbers():
do something
Resulterar i exakt samma beteende?
Dracaena skrev:Kan du nu göra exakt samma sak utan att ta emot 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?
destiny99 skrev:Laguna skrev:Har du provkört?
Yes Det gick!!
Jag tror att 10 inte skrevs ut.
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
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.
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
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.
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.
Precus, experimentera lite :)