Kezdőoldal » Számítástechnika » Programozás » Hogyan lehetne megoldani ezt...

Hogyan lehetne megoldani ezt a feladatot Python-ban? (Kezdő szint.)

Figyelt kérdés

Sziasztok!

Egy feladat megoldásában kérném a segítséget, még nem igazán értem, hogyan működik a Python. :D Szóval:


"Írj egy Python programot, amely bekér egy 20-nál nem nagyobb pozitív egész számot a felhasználótól, és kiírja a képernyőre a START szót úgy, hogy előtte annyi szóköz legyen, amennyi a megadott szám értéke."


Valaki esetleg tudna segíteni? 😅


Köszönöm szépen előre is!



2021. okt. 5. 16:16
 1/7 Pelenkásfiú ***** válasza:

'string' * n

megismétli az adott stringet "n"-szer. Természetesen egyetlen karakterre is működik.

2021. okt. 5. 16:20
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

elöször be kell kérni a számot a felhasználótól. Erre való az input nevü függvény.


> adat = input()


viszont az input nem egy számot ad vissza, hane egy karakterláncot(stringet). A stringeket az int nevü függvénnyel tudod számmá alakítani:


> szam = int(adat)


Ezután le kell ellenörizni, hogy a szám megfelel-e az elvárásainknak (tehát 1 és 20 közé esik-e). Erre való az if.

> if kifejezés:

> __ezt csinálja, ha igaz.

(megjegyzés: a gyakorikérdések eltünteti a sor eleji szóközöket, de pythonban ezek kellenek az indentációhoz, úgyhogy _ karakterrel helyettesítettem)

A mi esetünkben így fog kinézni:

> if szam < 1 OR szam > 20:

> __quit() # ha nem jó a számunk, akkor simán kilépünk, egyelöre


Mostmár csak össze kell állítani a kimenetet:

két része van, néhány darab szóköz, meg a start szó.

Ahogy az egyes mondta, a szorzás operátorral(*) tudunk stringeket többszörözni, tehát pl 'ab'*3 == 'ababab'

> szoközök = ' '*szam

Stringeket össze tudsz füzni a + operátorral, pl 'a'+'bc' == 'abc'

Ezt felhasználva már össze tudjuk rakni a végsö stringet:

> eredmeny = szoközök + 'START'


Ezek után csak ki kell íratni a képernyöre, és késszen is vagyunk:


> print(eredmeny)

2021. okt. 5. 17:11
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

Köszönöm szépen a segítséget!


Olyan kérdésem lenne még, hogy ha mondjuk az if és az else függvényeket használom, és megadom, hogy csak 0-20-ig fogadja el a bekért számot, és a kimenetben ki is írja, ha a megadott szám nem megfelelő, de a start és az adott számú szóköz ennek ellenére mégis megjelenik, azzal mit tudok kezdeni? :(

2021. okt. 5. 22:26
 4/7 A kérdező kommentje:
SEMMI, bocsi, közben rájöttem, mi volt a hiba! :)
2021. okt. 5. 22:29
 5/7 Pelenkásfiú ***** válasza:

Az if/else nem függvény, hanem utasítás (statement), ahogy a ciklusok is. :)

Nem kötekedésből mondom. :)

2021. okt. 5. 22:32
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

Bocsánat, igazad van. :) Még zavaros ez az egész. 😅


Lenne még egy feladat, amiben bizonytalan vagyok: ha azt kell kiíratni, hogy egy felhasználótól bekért szám pozitív páros vagy negatív páratlan, azt hogyan lehet megcsinálni?


A páros-páratlant a 2-vel osztással, a pozitív/negatívat pedig a 0-hoz képest kisebb-nagyobbal próbáltam, de valamiért nem fogadja el.

2021. okt. 5. 22:48
 7/7 Pelenkásfiú ***** válasza:
Töltsd fel a kódod valahova és megnézem. Ha még nem késő.
2021. okt. 5. 23:44
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!