python, nybörjare behöver lite hjälp med ett enkelt mellanslag

Permalänk
Medlem

python, nybörjare behöver lite hjälp med ett enkelt mellanslag

Hej, jag försöker skriva ett enkelt program men har fastnat på något löjligt enkelt. Det är när följande program frågar användaren efter några tal som jag inte får python att få in ett mellanslag efter varje fråga.

Så här blir det:

Ange tal 10
Ange tal 21
Ange tal 32

när programmet frågar efter tal 1,2 och 3.
Jag vill så klart att det ska stå

Ange tal 1: 0
Ange tal 2: 1
Ange tal 3: 2

men får inte till det! Har provat olika sätt, men alla ger olika fel. Någon som har förslag?

koden:

#Skriv ett program som frågar användaren hur många tal som ska matas in. #Därefter frågar programmet efter så många tal och #skriver slutligen ut summan av positiva talen, #d.v.s summan av alla tal som är större än 0. # ##Hur många tal vill du mata in? 6 ##Ange tal 1: 3 ##Ange tal 2: 4 ##Ange tal 3: -6 ##Ange tal 4: 30 ##Ange tal 5: 0 ##Ange tal 6: 9 ##Summan av de positiva talen blir 46. #Fråga efter antal tal, spara som int antalTal = int(input("Hur många tal ska matas in? ")) varv = 0 angivnaTal = [] #fyll listan angivnaTal med de tal som matas in while varv < antalTal: varv = varv + 1 print("Ange tal " , end="") angivnaTal.append(int(input(varv))) positivaTal = [] summa = 0 #fyll listan positivaTal med de positiva talen for i in angivnaTal: if i > 0: positivaTal.append(i) #summera de positiva talen for i in positivaTal: summa += i print("Summan av de positiva talen är:" , summa)

Visa signatur

[MSI X470 GAMING PLUS] - [AMD RYZEN 3700X] - [G.SKILL F4-3200C14D-16GTZKW] - [Palit GTX 1080] - [Kingston 1TB NVME] - [Corsair HX 750W] - [Noctua NH-D15] - [Fractal Design XL R2] - [Acer XB270HU]

Permalänk
Medlem

En variant är att göra på följande sätt:

Byt:
print("Ange tal " , end="")
angivnaTal.append(int(input(varv)))

Till:
print("Ange tal " + str(varv) + ": ", end="")
angivnaTal.append(int(input()))

Då ligger allt som användaren ska se i "printen". Variabeln "varv" konverteras till string för att kunna printas och + tecknet kan man använda när man vill printa flera osammanhängande strängar eller variabler i samma print.

Permalänk
Medlem
Skrivet av Roosenn:

Byt:
print("Ange tal " , end="")
angivnaTal.append(int(input(varv)))

Till:
print("Ange tal " + str(varv) + ": ", end="")
angivnaTal.append(int(input()))

Då ligger allt som användaren ska se i "printen". Variabeln "varv" konverteras till string för att kunna printas och + tecknet kan man använda när man vill printa flera osammanhängande strängar eller variabler i samma print.

Det fungerar som en dröm! Jag trodde att man kunde skriva (varv) direkt, det var där det sket sig för mig. Tack för hjälpen!

Visa signatur

[MSI X470 GAMING PLUS] - [AMD RYZEN 3700X] - [G.SKILL F4-3200C14D-16GTZKW] - [Palit GTX 1080] - [Kingston 1TB NVME] - [Corsair HX 750W] - [Noctua NH-D15] - [Fractal Design XL R2] - [Acer XB270HU]