Meddelande

Du befinner dig just nu på en äldre version av Pluggakuten, gamla.pluggakuten.se. Nya Pluggakuten lanserades den 6 februari 2017 och du finner forumet på www.pluggakuten.se.

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:

https://s21.postimg.org/kbjz129p3/Untitled_1.jpg

Hur som helst så har jag i alla fall fått en bra inblick i hur man bör gå till väga.
Tack. smile

 
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! smile

 
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. smile

 
Henrik E
Medlem

Offline

Registrerad: 2015-09-22
Inlägg: 3189

Re: Python (funktion)

print(list(range(n+1))) duger också

 


Sidfot

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Powered by Mattecentrum
 |  Denna sida använder cookies |  Kontakta oss |  Feedback |