Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Python problem # 2

Skapad av Borttagen, 2011-11-02 09:44 i Webbutveckling & Programmering

4 830
12 inlägg
0 poäng
Jag1
Visningsbild
P Hjälte 66 inlägg
0

Hej,

Jag lär mig Python och fastnade på denna:

Din uppgift är att skriva ett program som frågar om användarens namn, och högerjusterar
det så att det sista tecknet är på kolumn 70. Funktionen len(minsträng) ger dig längden av
minsträng. Spara värdet du får ut som i exemplet med input() i den föregående övningen.

ska texten som skrivs ut vara

1 (64 b l a n k s t e g ) R o b e r t


Så här gjorde jag:

På första raden - i skriptet - skrev jag:

namn = input("Hej, vad heter du?: "). Spara. F5 (exekvering)
I konsolen kom det då upp: Hej, vad heter du?:
Där - i konsolen - skrev jag in: Olle

Sedan ska det alltså bli en printsats som skriver ut Olle på kolumn 70.
Känns som om jag prövat det mesta.

Jag kan tyvärr ej visa hur jag skrivit eftersom det blev fel när jag gjorde förhandsgranskning i hamsterpaj.







Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Felix
Visningsbild
P 34 Lidingö Hjälte 6 171 inlägg
0
a = 70-len(namn)

print(a*" ", namn)

Bör funka

Tillägg av Felix 2011-11-02 10:10

Det funkar...

You're awesome!

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
Jag kan inte python, men det du vill göra är väl att ta typ

skriv ut 1
loopa ut blanksteg, antalet blanksteg ska ju då vara 70-1-len(input_namn)
skriv ut namnet.


Kanske? : )

Tillägg av Syndafloden 2011-11-02 10:14

Felix var smidigare meden bättre lösning.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Jag1
Visningsbild
P Hjälte 66 inlägg
Trådskapare
0

Svar till Felix [Gå till post]:



Ja det där känns som rena grekiskan för min även om det kanske är rätt :)

Ska jag skriva detta i konsolen eller?

Ska jag skriva(namn) eller ska jag skriva in t ex olle där?

Mvh
förvirrad :)

Tillägg av Jag1 2011-11-03 10:47

Så här skrev jag. Jag skrev i skript.

Första raden
a=70-len("Erik")

Andra raden
print(a*"",Erik)

NameError: name 'Erik' is not defined

Felix
Visningsbild
P 34 Lidingö Hjälte 6 171 inlägg
0

Svar till Jag1 [Gå till post]:
Mata in ett godtyckligt namn:
namn = input("Ditt namn: ")

Räkna ut var ordet ska börja för att det ska sluta på rätt ställe:
start = 70-len(namn)

Skriv ut rätt antal blanksteg och sedan namnet:
print (start*" ", namn)

You're awesome!

Jag1
Visningsbild
P Hjälte 66 inlägg
Trådskapare
0

Svar till Felix [Gå till post]:



Hej,

Jag lyckades till slut. Dock inte som min lärare hade tänkt sig men det fungerar i alla fall. Så här skrev jag:

namn = (" 60 mellansteg Kalle Anka")
print(len(namn))
print(namn)

Tack för engagemanget.
Jag1
Visningsbild
P Hjälte 66 inlägg
Trådskapare
0
Jag lär mig om villkorssatsser och jag jag förstår inte riktigt vad som menas.

Det står:


1 if time < 60:
2 if l e v e l C o m p l e t e d == True :
3 p r i n t ( " Your r e w a r d is : a cake . " )

(rad 2 och 3 ska vara indragna men det gick ej att fixa här)

Jag är lite osäker på hur jag ska tolka koden på rad 2. Den definition jag lärde mig var att x == y betyder : sant om x är lika med y men vad betyder det där?
Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till Jag1 [Gå till post]:
Den säger

"Om time är mindre än 60:
Testa om levelCOmpleted har värdet true.
Om levelCompleted är true, skriv 'your reward is a cake'"

Så först testar den om time är mindre än 60, och om time är mindreän 60 testar den om man har klarat banan, om man har klarat banan och time < 60 får man kaka.



Det borde även gå att skriva typ

if time < 60 && levelCompleted == true:


LevelCOmpleted är i det här fallet en boolean (boolesk på svenska) som kan var antingen sann eller falsk.


HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Jag1
Visningsbild
P Hjälte 66 inlägg
Trådskapare
0



Tack för ditt svar.

1.Så först testar den om time är mindre än 60.
(Innebär det att man kan skriva på t ex rad 4 time = (50)

2. och om time är mindreän 60 testar den om man har klarat banan, om man har klarat banan och time < 60 får man kaka.

(Samma sak här. Då måste man alltså skriva på raderna efter att level är complited?).

Och då ska programmet printa ut satsen på 3:e raden
Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till Jag1 [Gå till post]:
jag kan inte python, så jag kan inte hjälpa dig med syntaxen och hur man skriver det.

Om du på rad 4 skriver time = 50 så testar den först om time == 60, sedan om lC == true, sedan sätter den time till 50.
Tror jag, Felix eller någon annan får gärna rätta mig.



HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Jag1
Visningsbild
P Hjälte 66 inlägg
Trådskapare
0




Ok fattar. En sista fråga bara. När det är två st "= " så är ju ena ett likhetstecken och det andra visar en tilldelningssats.

Så det betyder alltså att programmet checkar att värdet stämmer och det andra "likhetstecknet" således beordrar att exekvera sista satsen eller?
Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till Jag1 [Gå till post]:
när det står "=="?

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE


Forum » Datorer & IT » Webbutveckling & Programmering » Python problem # 2

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons