Ezt pythonban, hogy lehetne rendesen megcsinalni?
a = ["kod1","kod2","kod3"]
def kod(c):
for i in range(len(a)):
if c in a[i]:
print("bent vagy")
else:
print("nemjo")
bb = input("ide:")
kod(bb)
Úgy szeretném, hogy ha nem jó a bevitel akkor ne háromszor írja ki.
def kod(c):
if c in a:
print("bent vagy")
else:
print("nemjo")
És itt mi a probléma?
a = ("kod1","kod2","kod3","kod4")
def kod(c):
for i in range(len(a)):
if c in a[i]:
print("bent vagy")
return dolog = False
break
elif i != a[i]:
print("nemjoo")
break
dolog = True
while dolog:
bb = input("ide:")
kod(bb)
a = ("kod1","kod2","kod3","kod4")
dolog = True
def kod(c):
global dolog;
for i in range(len(a)):
if c == a[i]:
print("bent vagy")
dolog = False
return
print("nemjoo")
while dolog:
bb = input("ide:")
kod(bb)
Nem irtad, hogy pontosan mit is akarsz csinalni a koddal, de szerintem ide nem kell fuggveny. En igy csinalnam:
a = ["kod1","kod2","kod3"]
bb = input("ide:")
print("bent vagy") if bb in a else print("nemjo")
A fenti sor teszteli, hogy a bevitt valtozo megtalalhato-e az a array-ben.
A masodik kodreszletben nagyon sok a hiba (logikai es szintaktikai is). pl: return statementben nem lehet ertekadas, return utan felesleges a break, mert az mar nem lesz vegrehajtva, az else blockban nem szabad break-kel kilepni a ciklusbol, mert akkor a tobbi eleme a tuple-nek mar nem lesz tesztelve.
Igy csinalnam meg a masodik kodreszletet:
a = ["kod1","kod2","kod3"]
while True:
bb = input("ide:")
if bb in a:
print("bent vagy")
break
else:
print("nemjo")
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!