Def funktion övning
Hej!
Jag skapade en kod vars syfte är att den ska göra utskriften Hello Mahiya Mohammed men det går ej riktigt bra då den istället skriver paramaterna istället. Den skriver alltså ut Hello first_name last_name
Ja, strängen "first_name last_name" innehåller precis det. Inga variabelvärden slås upp.
Det finns många sätt att stoppa in variabelvärden i en sträng. Det här är kanske det enklaste:
x1 = first_name + " " + last_name
Laguna skrev:Ja, strängen "first_name last_name" innehåller precis det. Inga variabelvärden slås upp.
Det finns många sätt att stoppa in variabelvärden i en sträng. Det här är kanske det enklaste:
x1 = first_name + " " + last_name
Men jag hänger ej med. Kommer det här sättet som du skrev ge mig rätt utskrift jag är ute efter? Vad innebär det när du skriver first_name +" " +last_name? Mer specifikt "+"?
Du returnerar ju en sträng "first_name last_name", du använder inte dina argument.
En annan kommentar är att det är ett krånligt sätt att göra det på, men om du verkligen vill göra det på de sättet så kan man göra följande:
def greeting_user(first_name, last_name):
return f'{first_name} {last_name}'
print(f'Hello {greeting_user("Mahiya", "Mohammed")}')
Vi har pratat om formatering av strängar förr, så det ska inte vara något konstigt. Jag stressar det igen dock, problemet ligger i att du har skapat en sträng med innehållet first_name och last_name, du kan likaväl ta bort argumenten så ser du att precis samma sak kommer skrivas ut.
Annars kan du också göra:
def greeting_user(first_name, last_name):
return f'Hello {first_name} {last_name}'
print(greeting_user("Mahiya", "Mohammed"))
Lagunas metod kallas för string concatenation, du kan se det som att "addera" strängar. Det fungerar också!
Exempelvis:
def greeting_user(first_name, last_name):
return " ".join([first_name, last_name])
print(f'Hello {greeting_user("Mahiya", "Mohammed")}')
Och återigen, man kan slänga in "hello" i greeting_user.
Dracaena skrev:Du returnerar ju en sträng "first_name last_name", du använder inte dina argument.
En annan kommentar är att det är ett krånligt sätt att göra det på, men om du verkligen vill göra det på de sättet så kan man göra följande:
def greeting_user(first_name, last_name): return f'{first_name} {last_name}' print(f'Hello {greeting_user("Mahiya", "Mohammed")}')
Vi har pratat om formatering av strängar förr, så det ska inte vara något konstigt. Jag stressar det igen dock, problemet ligger i att du har skapat en sträng med innehållet first_name och last_name, du kan likaväl ta bort argumenten så ser du att precis samma sak kommer skrivas ut.
Annars kan du också göra:
def greeting_user(first_name, last_name): return f'Hello {first_name} {last_name}' print(greeting_user("Mahiya", "Mohammed"))
Lagunas metod kallas för string concatenation, du kan se det som att "addera" strängar. Det fungerar också!
Exempelvis:def greeting_user(first_name, last_name): return " ".join([first_name, last_name]) print(f'Hello {greeting_user("Mahiya", "Mohammed")}')
Och återigen, man kan slänga in "hello" i greeting_user.
Problemet är att jag kommer ej på att man ska göra de här sätten som du föreslår då jag kollat en genomgång om funktioner och skapar något utifrån ett exempel youtubern tagit upp och leker runt bara. Sen glömmer jag gamla genomgångar som varit och då fastnar med koden för att jag tänkte ej på att man kunde använda grejerna från föreläsningarna för att tex skriva format string. Format string har jag bara sett inom print tex vilket är nytt för mig när du säger att den står bredvid return. Angående att mitt sätt jag började på verkar krånglig tänkte jag ej mycket på utan jag bara testade att skapa något för att göra en utskrift. Håller med om att ditt sätt verkar enklare med format strings
Det finns något som kallas "tutorial hell", sök upp det!
Mitt tips är att du behöver öva mycket mer. Det är bra att kolla på Youtube etc, men det är vanligt att man hamnar i en situation att han kollar på en video och tycker lösningen är super enkel. Sedan när man själv ska skriva kod så låser det sig direkt. Man måste öva öva öva. Detta är likt matematik, även trots jag tycker programmering kräver mer övning då du inre bara kan hoppas på att formler gör jobbet åt dig. Om du tycker det är svårt, försöker jobba lite varje dag. Sedan kan du alltid fråga här så försöker vi hjälpa dig förstå så mycket som möjligt.
Dracaena skrev:Det finns något som kallas "tutorial hell", sök upp det!
Mitt tips är att du behöver öva mycket mer. Det är bra att kolla på Youtube etc, men det är vanligt att man hamnar i en situation att han kollar på en video och tycker lösningen är super enkel. Sedan när man själv ska skriva kod så låser det sig direkt. Man måste öva öva öva. Detta är likt matematik, även trots jag tycker programmering kräver mer övning då du inre bara kan hoppas på att formler gör jobbet åt dig. Om du tycker det är svårt, försöker jobba lite varje dag. Sedan kan du alltid fråga här så försöker vi hjälpa dig förstå så mycket som möjligt.
Ja absolut det ska jag göra. Jag övar på lite varje dag :)