Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Python programozás

90
Egy rakéta indítása előtt több órával visszaszámlálást kezdenek és óránként egyet számolnak
vissza a rakéta indításáig. A felhasználó határozza meg, hogy hány órás a visszaszámlálás. A
visszaszámlálást minden órában egy órára felfüggeszthetik, ha valamilyen váratlan esemény –
műszaki hiba, időjárási probléma – merül fel. Amikor a visszaszámlálás eléri a 0-t, a rakétát
fellövik.

Írjon programot amely a visszaszámlálás számait jeleníti meg a képernyőn!
Természetesen nem kell a visszaszámlálás lépései között eltelni időnek – minden üzenet
megjelenését azonnal követheti a következő. A visszaszámlálás minden lépésénél kérdezze meg
a felhasználót, hogy az adott órában szükség volt-e a visszaszámlálás fölfüggesztésére! A
visszaszámlálás megjelenítését követően a program írja ki, hogy a visszaszámlálás kezdetétől
hány óra telt el – a visszaszámlálás eredetileg tervezett hosszát a felfüggesztésekkel megnövelve!
Jelenleg 1 felhasználó nézi ezt a kérdést.
python
1
Középiskola / Egyéb

Válaszok

1
Egy kissé zagyva. „A visszaszámlálást minden órában egy órára felfüggeszthetik” részt úgy értelmeztem, hogy minden órát legfeljebb egyszer lehet felfüggeszteni és ilyen esetben az adott órát újra elszámolják.

Az import csak a telik_az_ora() függvényhez kell. Ha azt kirúgod, töröld az importot is.

(Forgalmasabb időszakban a kérdésed háttérbe szorulhat még mielőtt a segíteni tudók észrevennék. Ezért a weboldal értesítést jelenít meg azoknak akik bizonyos tantárgyakat figyelnek. Javaslom, hogy legközelebb inkább az Informatika tantárgyhoz írd a programozás kérdésedet.)


from time import sleep

    print(f'[telik az óra { "." * 60 }]\r[telik az óra ', end = '')

    for _ in range(60):
        print('#', end = '', flush = True)
        sleep(.05)

    print()

hatra = osszesen = int(input('Hány órás a visszaszámlálás? '))
telt = telik = 0
fuggesztve = False

while hatra:
    telik += not fuggesztve
    print(f'{ "Újrakezdődik" if fuggesztve else "Kezdődik" } az { telik }. óra. Már eltelt { telt } óra, még { hatra } óra a kilövésig.')
    telik_az_ora()
   
    if fuggesztve:
        fuggesztve = False
    else:
        valasz = input(f'A { telik }. órában szükség volt a visszaszámlálás felfüggesztésére? [i/N] ')
        fuggesztve = valasz[:1].lower() in ('i', 'y')

    if not fuggesztve:
        hatra -= 1

    telt += 1

print('Kilövés!')
1