Meddelande
På gamla.pluggakuten.se kan du fortfarande läsa frågorna och svaren som ställts, men du kan inte skapa ett nytt konto eller nya trådar. Nya frågor och nytt konto skapar du på det nya forumet, välkommen dit!
Python (funktion)
- xam
- Medlem
Offline
- Registrerad: 2016-10-03
- Inlägg: 44
Python (funktion)
Hej.
Jag matar in ett tal in i min funktion (i detta fall N = 10)
ex.
def tal(N)
print ??????????
Hur ska jag få min funktion att printa ut 0 till N
T.ex.
0,1,2,3,4,5,6,7,8,9,10
Eller om N = 3
0,1,2,3
Förstår ni hur jag menar?
- Yngve
- Medlem
Offline
- Registrerad: 2015-09-13
- Inlägg: 2941
Re: Python (funktion)
I väntan på någon som verkligen kan Python så föreslår jag följande som verkar fungera (ber om ursäkt för ev. rookie-misstag):
Kod:
var = '' for i in range (0,N+1): var = var + str(i) if i<>N: var = var + ',' print var
Senast redigerat av Yngve (2016-11-01 09:55)
Nothing else mathers
- statement
- Moderator
Offline
- Registrerad: 2012-09-07
- Inlägg: 4314
Re: Python (funktion)
Om du inte behöver ha ett kommatecken efter varje tal så kan du använda for-loop:en nedan i din definition:
Python3:
Kod:
for i in range(n+1): print(i)
Om du vill ha med kommatecknet efter varje tal så kan du använda denna:
Kod:
for i in range(n+1): if i == n: print(i, end="") else: print(i, end=",")
In action:
https://repl.it/ELjq/2
Senast redigerat av statement (2016-11-01 10:44)
- xam
- Medlem
Offline
- Registrerad: 2016-10-03
- Inlägg: 44
Re: Python (funktion)
statement skrev:
Om du inte behöver ha ett kommatecken efter varje tal så kan du använda for-loop:en nedan:
Python3:Kod:
for i in range(n+1): print(i)
Jag behöver ha allt på samma rad egentligen.
Det du Yngve skrev gav resultatet på flera rader:
Hur som helst så har jag i alla fall fått en bra inblick i hur man bör gå till väga.
Tack.
- xam
- Medlem
Offline
- Registrerad: 2016-10-03
- Inlägg: 44
Re: Python (funktion)
statement skrev:
Om du vill ha med kommatecknet efter varje tal så kan du använda denna:
Kod:
for i in range(n+1): if i == n: print(i, end="") else: print(i, end=",")
Tusen tack!
- Yngve
- Medlem
Offline
- Registrerad: 2015-09-13
- Inlägg: 2941
Re: Python (funktion)
xam skrev:
Det du Yngve skrev gav resultatet på flera rader:
Nejdå.
I mitt exempel exekveras printsatsen bara en gång, alltså kommer allt på en rad.
Senast redigerat av Yngve (2016-11-01 11:13)
Nothing else mathers
- xam
- Medlem
Offline
- Registrerad: 2016-10-03
- Inlägg: 44
Re: Python (funktion)
Yngve skrev:
Mitt exempel har bara en printsats, alltså allt på en rad.
Är du säker på det? Jag får flera rader som på bilden jag postade.
Eller kanske jag som gjort något fel så att det blev så..
Senast redigerat av xam (2016-11-01 11:14)
- Yngve
- Medlem
Offline
- Registrerad: 2015-09-13
- Inlägg: 2941
Re: Python (funktion)
Yngve skrev:
Kod:
var = '' for i in range (0,N+1): var = var + str(i) if i<>N: var = var + ',' print var
Den här koden ger bara en rad.
Var noga med indragen på raderna.
Nothing else mathers
- xam
- Medlem
Offline
- Registrerad: 2016-10-03
- Inlägg: 44
Re: Python (funktion)
Yngve skrev:
Var noga med indragen på raderna.
Du har helt rätt! Nu när jag var mer noga med indragen på raderna så blev det rätt.
- Henrik E
- Medlem
Offline
- Registrerad: 2015-09-22
- Inlägg: 3189
Re: Python (funktion)
print(list(range(n+1))) duger också