Beleszimatoltam a Pythonba, és máris beletört a fogam. Hol lehet a baki?
Tehát.. a lényege a kódnak, hogy a gép kitalál egy számot 1-10-ig, és ki kellene találnom. De megrekedtem a while-ban, és hiába találom el jól, nem enged tovább. Valaki leszedné a szememről a kendőt? Itt a kód:
from random import randint
print ("A gép kiötölt-hatolt egy számot 1-től 10-ig. Találd ki.")
print ()
gép_szám = randint(1, 10)
szám = input("Pötyörészd a tipped ide: ")
próbálkozások = 0
while szám != gép_szám:
szám = input ("Nemjó! Próbáld újra: ")
próbálkozások += 1
print ("Remek! Próbálkozásaid:", próbálkozások + ".")
"Hol lehet a baki?"
Ott, hogy elkezdted. Kódmegosztó ahelyett hogy idehénynád? Screenshot helyett? Esetleg git? Minek az. Magyar változónevek (ékezettel...), no comment...
Szerinted beolvaás után mégis milyen típusban fog csücsülni az inputod?
0. A későbbiekben ha forráskódot akarsz megosztani, használj kódmegosztó oldalt - mint például a pastebin.com - ne képként illeszd be a kódot, mert így nehezebb feldolgozni.
1. Bár lehet, hogy a fordító/a kódszerkesztő megengedi, de tartózkodj az ékezetes változónevektől - rossz beidegződés, problémákat okozhat (a magyar nevű változónevek sem egy szép gyakorlat, de annak inkább nemzetközi mértékű fejlesztésnél van hátránya, gyakorlásnál "elmegy").
2. A fő probléma az alábbi sor:
while szam != gep_szam:
mivel a "szam" valtozó karakterlánc, így sosem lesz azonos az egész típusú "gep_szam" változóval, még ha a felhasználó jó értéket ad is meg.
Helyesen:
while int(szam) != gep_szam:
3. A próbálkozások száma 1-ről indul (hisz az első próbálkozás a ciklus előtt történik) - szóval e helyett:
probalkozasok = 0
legyen ez:
probalkozasok = 1
4. A végén az alábbi sor:
print ("Remek! Próbálkozásaid:", probalkozasok + ".")
hibát dob, mert kevered a karakterlánc és egész típusokat.
Helyesen:
print ("Remek! Próbálkozásaid:", str(probalkozasok) + ".")
5. Bár csak formai észrevétel, de - mivel a kódelemző (pycodestyle) figyelmeztet - a print, az input és egyéb függvénynevek - után, a kezdő zárójel előtt ne hagyj szóközt.
Szóval ezek:
print (
input (
helyett írd így:
print(
input(
3-as.
Talán mert kezdő és mondjuk most kezdte al a programozást és valszeg fogalma sincs mi az a git meg a többi kódmegosztó..
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!