Trädvy Permalänk
Medlem
Registrerad
Apr 2017

Hjälp Python strängar/array

Hej!
Någon som kan hjälpa mig med slutet på denna kod?
Alltså sista stycket där man ber användaren;
"Välj vad du vill göra"
Tack på förhand!

Skapa ett program där användaren kan mata in 10 tal. Talen ska sparas i en array/lista och efter inmatningen ska användaren få möjlighet att se det största talet eller det minsta talet eller alla talen. En programkörning kan se ut som nedanstående:

Ange tal nr 1: 12
Ange tal nr 2: 8
Ange tal nr 3: 34
Ange tal nr 4: 23
Ange tal nr 5: 9
Ange tal nr 6: 62
Ange tal nr 7: 41
Ange tal nr 8: 7
Ange tal nr 9: 14
Ange tal nr 10: 53

Välj vad du vill göra
1. Visa största talet
2. Visa minsta talet
3. Visa medelvärdet med en decimal
4. Visa alla inmatade tal
5. Avsluta detta program
4
Talen som matades in var 12, 8, 34, 23, 9, 62, 41, 7, 14, 53

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2012

Med tanke på uppgiften antar jag att du studerar programmering på någorlunda grundläggande nivå. Därav går det bra att helt enkelt bara ställa upp fem olika if-satser, en per alternativ (alltså vad man skall göra). Här är lite exempelkod:

print("Vad vill du göra?") #Lagra användarens valda alternativ i in-variablen. in = input() #Gör om input-variabeln till en int (är inte säker på om det behövs i Python) int = int(in) #Om användaren valde alternativ 1: if(in == 1): #Kör kod tillhörande alternativet... #Allt som indenteras (med en tab) efter if(xx): körs då vilkoret i if-satsen returnerar true.

*om du kör Python 2.X använder du raw_input() istället för input()

Källor:
Input/Output
Hämta maxvärde ur array/lista
Om du vill ha stilpoäng, skriv egen sorteringsfunktion för att sortera array!

Edit: De raderna i kodfältet som påbörjas med "#" är kommentarer och ignoreras av kompilatorn. Kommentarerna tillhör understående kodrad.

Mvh
Hugo

Fractal Design Define R5 | Custom vattenkylning | Intel Core I5 3570K @ 4.4GHz | ASUS Sabertooth Z77 | Sapphire R9 Fury | 24 GB 1600MHz | Corsair RM 750x | Samsung 830 128 GB | Crucial BX100 500GB |

| Egenbyggd DAC: MINI4396, moddad | --> | Fostex TH-X00 |

Trädvy Permalänk
Medlem
Registrerad
Jun 2013

Jag uppfattar det som att det du vill ha hjälp med är att skapa själva menyn.
Man skulle kunna skapa den genom att använda en oändlig loop, t.ex. while True eller något liknande
Jag hade förmodligen skapat en funktion likt den här:

def start(): while True: choice = raw_input("Välj vad du vill göra: 1. Visa största talet (osv. Mecka med formatering här själv)") if choice == "1": #Kör din kod här #Och starta om start-funktionen så att användaren kan välja något annat start() elif choice == "5": #Om användaren väljer 5, avsluta genom att breaka loopen break

Jag såg att jag inte hann först, men det är väl alltid roligt med olika sätt att lösa problem

Trädvy Permalänk
Medlem
Registrerad
Jan 2011
Skrivet av Anna-Maria:

Hej!
Någon som kan hjälpa mig med slutet på denna kod?
Alltså sista stycket där man ber användaren;
"Välj vad du vill göra"
Tack på förhand!

Skapa ett program där användaren kan mata in 10 tal. Talen ska sparas i en array/lista och efter inmatningen ska användaren få möjlighet att se det största talet eller det minsta talet eller alla talen. En programkörning kan se ut som nedanstående:

Ange tal nr 1: 12
Ange tal nr 2: 8
Ange tal nr 3: 34
Ange tal nr 4: 23
Ange tal nr 5: 9
Ange tal nr 6: 62
Ange tal nr 7: 41
Ange tal nr 8: 7
Ange tal nr 9: 14
Ange tal nr 10: 53

Välj vad du vill göra
1. Visa största talet
2. Visa minsta talet
3. Visa medelvärdet med en decimal
4. Visa alla inmatade tal
5. Avsluta detta program
4
Talen som matades in var 12, 8, 34, 23, 9, 62, 41, 7, 14, 53

Istället för att ge hela programmet så kan jag tipsa om lite inbyggda funktioner i python:
mylist = [1, 2, 3]
1. max(mylist) = 3
2. min(mylist) = 1
3. print("%.1f"%(sum(mylist)/len(mylist)))
4. for n in mylist:
print("%d "%(n), end="")

Trädvy Permalänk
Medlem
Registrerad
Apr 2017
Skrivet av 7487:

Istället för att ge hela programmet så kan jag tipsa om lite inbyggda funktioner i python:
mylist = [1, 2, 3]
1. max(mylist) = 3
2. min(mylist) = 1
3. print("%.1f"%(sum(mylist)/len(mylist)))
4. for n in mylist:
print("%d "%(n), end="")

Perfekt!! Tack!

Skickades från m.sweclockers.com

Trädvy Permalänk
Medlem
Registrerad
Apr 2017
Skrivet av Snowtrimmer:

Jag uppfattar det som att det du vill ha hjälp med är att skapa själva menyn.
Man skulle kunna skapa den genom att använda en oändlig loop, t.ex. while True eller något liknande
Jag hade förmodligen skapat en funktion likt den här:

def start(): while True: choice = raw_input("Välj vad du vill göra: 1. Visa största talet (osv. Mecka med formatering här själv)") if choice == "1": #Kör din kod här #Och starta om start-funktionen så att användaren kan välja något annat start() elif choice == "5": #Om användaren väljer 5, avsluta genom att breaka loopen break

Jag såg att jag inte hann först, men det är väl alltid roligt med olika sätt att lösa problem

Ja det är jättebra med olika varianter! Tack ska du ha!

Skickades från m.sweclockers.com

Trädvy Permalänk
Medlem
Registrerad
Apr 2017
Skrivet av pixzie:

Med tanke på uppgiften antar jag att du studerar programmering på någorlunda grundläggande nivå. Därav går det bra att helt enkelt bara ställa upp fem olika if-satser, en per alternativ (alltså vad man skall göra). Här är lite exempelkod:

print("Vad vill du göra?") #Lagra användarens valda alternativ i in-variablen. in = input() #Gör om input-variabeln till en int (är inte säker på om det behövs i Python) int = int(in) #Om användaren valde alternativ 1: if(in == 1): #Kör kod tillhörande alternativet... #Allt som indenteras (med en tab) efter if(xx): körs då vilkoret i if-satsen returnerar true.

*om du kör Python 2.X använder du raw_input() istället för input()

Källor:
Input/Output
Hämta maxvärde ur array/lista
Om du vill ha stilpoäng, skriv egen sorteringsfunktion för att sortera array!

Edit: De raderna i kodfältet som påbörjas med "#" är kommentarer och ignoreras av kompilatorn. Kommentarerna tillhör understående kodrad.

Mvh
Hugo

Ja det är så grundläggande det kan bli, helt nytt för mig så väldigt tacksam för all hjälp! Tack så mycket!

Skickades från m.sweclockers.com