Kezdőoldal » Számítástechnika » Programozás » Ezt hogy oldhatnám meg Pythonban?

Ezt hogy oldhatnám meg Pythonban?

Figyelt kérdés

Most kezdtem bele a nyelve és egy feladatot szeretnék megoldani.


A felhasználótól be szeretnék kérni egy számot, ez megvan:


shifttime = int(input('Add meg a műszakidőt! '))


A lényeg az lenne, hogy az input csak 8 vagy 12 lehessen.


Ha nem 8 vagy 12 a szám, akkor ismételni kéne bekérést, mindaddig míg nem ad meg egy helyes számot.


De még ezt is szeretném azzal fejleszteni, hogy ha nem számot, hanem mást(karakter, szimbólum, stb...) ír be, akkor ismét kérje be a program a műszakidőt.


Nem tudom hogy kéne ezt megcsinálni. Ha tudna segíteni valaki, akkor nagyon megköszönném. Esetleg ha magyarázatot is ad mellé valaki, hogy mit miért, akkor örök hálám. :)



2017. dec. 27. 01:19
1 2 3
 1/21 anonim ***** válasza:
Szerintem egy ciklussal és ha fuggvennyel megoldható
2017. dec. 27. 01:45
Hasznos számodra ez a válasz?
 2/21 A kérdező kommentje:

Igen azt sejtettem, de részletesebben? :(


Próbálkozok már egy ideje, de csak félmegoldások születnek.

2017. dec. 27. 01:51
 3/21 anonim ***** válasza:
Ha azt vizsgálod, hogy 8 vagy 12, akkor minden egyéb esetben nem fog teljesülni a feltétel, akkor se ha 6, akkor se ha "LOL" vagy “???". Szóval ezt felesleges külön viszgálni.
2017. dec. 27. 08:16
Hasznos számodra ez a válasz?
 4/21 anonim ***** válasza:

Egy ciklussal:


boolean run = true


while (run)

Itt kérd az inputot


If (jó a szám)

run = false



Telefonon írom :) igazából semilyen nyelven sem, csak a logikát. Ha nem felel meg az input a kritériumodnak akkor megint inputot fog kérni. Még soha sem írtam python programot de a logika ugyan az.


Erre gondoltál?

2017. dec. 27. 09:56
Hasznos számodra ez a válasz?
 5/21 anonim ***** válasza:

shift_time = 0

while shift_time != 8 or shift_time != 12:

2017. dec. 27. 10:05
Hasznos számodra ez a válasz?
 6/21 anonim ***** válasza:
* fene elküldte közben. Na mind1, szóval a fenti két sor után bekéred az inputod és annyi, fut a ciklus míg jó inputot nem kap.
2017. dec. 27. 10:06
Hasznos számodra ez a válasz?
 7/21 A kérdező kommentje:

Utolsó: igen, ezt próbáltam én is, de nem volt valami jó. Hátha majd most meg tudom oldani.


Köszönöm a választ mindenkinek!

2017. dec. 27. 10:09
 8/21 A kérdező kommentje:

shifttime = 0

while shifttime != 8 | shifttime != 12:

shifttime = int(input('Kérlek add meg a műszakidőt! (csak 8 és 12 lehet) '))


Nem stimmel. Valamiért elfogad valami tök random számot is néha... Pl. 4-et vagy a 9-et.


Ez mitől van? :O


Eredmény:

"Kérlek add meg a műszakidőt! (csak 8 és 12 lehet) 1

Kérlek add meg a műszakidőt! (csak 8 és 12 lehet) 2

Kérlek add meg a műszakidőt! (csak 8 és 12 lehet) 3

Kérlek add meg a műszakidőt! (csak 8 és 12 lehet) 4

>>>"


4-es számmal beengedett. De 9-el is...

2017. dec. 27. 10:16
 9/21 A kérdező kommentje:

Oké, megoldottam, hogy ha 8 vagy 12, akkor csak azt fogadja el.


nyolc = 8

tizenketto = 8


shifttime = 0

while shifttime != nyolc or shifttime != tizenketto:

shifttime = int(input('Kérlek add meg a műszakidőt! (csak 8 és 12 lehet) ')


De a Pythonban stringes(pl. LOL) válasszal hibasor jelenik meg, és a program összeomlik.


ValueError: invalid literal for int() with base 10: 'a'

2017. dec. 27. 10:46
 10/21 tabaki ***** válasza:

Sajnos, nem értek a pythonhoz, de azért én is próbálkoztam:

[link]

2017. dec. 27. 10:53
Hasznos számodra ez a válasz?
1 2 3

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!