Kezdőoldal » Számítástechnika » Programozás » Néhány hete elkezdtem tanilni...

Néhány hete elkezdtem tanilni Python nyelven. Csináltam egy scriptet, a gondom az, hogy bár látszólag működik, ha sokszor próbálgatom, van, hogy nem írja ki a választ, csak bekéri az inputot újra, és nem jövök rá miért. Szerintetek?

Figyelt kérdés

import random

def kopapirollo():

return random.choice(["kő","papír","olló"])


valid_options=("kő","KŐ","Ko","KO","ko")

valid_options1=("Papír","PAPÍR","papír","papir")

valid_options2=("ollo","olló","Olló","Ollo","OLLÓ")



print('kő-papír-olló-kilépéshez írjba be: "kilép"')

while True:

valasz=input("Kő/Papír/Olló? ")

if valasz in valid_options:

kopapirollo()

if kopapirollo()=="papír":

print("Ön vesztett")

elif kopapirollo()=="kő":

print("Döntetlen")

elif kopapirollo()=="olló":

print("Ön nyert")

elif valasz in valid_options1:

kopapirollo()

if kopapirollo()=="papír":

print("döntetlen")

elif kopapirollo()=="kő":

print("Ön nyert")

elif kopapirollo()=="olló":

print("Ön vesztett")

elif valasz in valid_options2:

kopapirollo()

if kopapirollo()=="papír":

print("Ön nyert")

elif kopapirollo()=="kő":

print("Ön vesztett")

elif kopapirollo()=="olló":

print("Döntetlen")



2017. febr. 1. 21:20
1 2
 1/14 A kérdező kommentje:
úgy látom a gyakori nem rakta bele az indentálást, remélem így is olvasható
2017. febr. 1. 21:22
 2/14 anonim ***** válasza:
30%
Mi a szar ez??
2017. febr. 1. 21:23
Hasznos számodra ez a válasz?
 3/14 A kérdező kommentje:

import random

def kopapirollo():

return random.choice(["kő","papír","olló"])


valid_options=("kő","KŐ","Ko","KO","ko")

valid_options1=("Papír","PAPÍR","papír","papir")

valid_options2=("ollo","olló","Olló","Ollo","OLLÓ")



print('kő-papír-olló-kilépéshez írjba be: "kilép"')

while True:

valasz=input("Kő/Papír/Olló? ")

if valasz in valid_options:

kopapirollo()

if kopapirollo()=="papír":

print("Ön vesztett")

elif kopapirollo()=="kő":

print("Döntetlen")

elif kopapirollo()=="olló":

print("Ön nyert")

elif valasz in valid_options1:

kopapirollo()

if kopapirollo()=="papír":

print("döntetlen")

elif kopapirollo()=="kő":

print("Ön nyert")

elif kopapirollo()=="olló":

print("Ön vesztett")

elif valasz in valid_options2:

kopapirollo()

if kopapirollo()=="papír":

print("Ön nyert")

elif kopapirollo()=="kő":

print("Ön vesztett")

elif kopapirollo()=="olló":

print("Döntetlen")

2017. febr. 1. 21:29
 4/14 A kérdező kommentje:
nem tudom miért,nem tudom felrakni normálisan:((
2017. febr. 1. 21:30
 5/14 anonim ***** válasza:
61%
Mert ilyen ez a rendszer, viszont behúzás nélkül a kód értelmetlen. Tedd fel pastebin.comra, és a linkben cserélj ki valamilyen karaktert, különben kidobja a GYIK.
2017. febr. 1. 21:52
Hasznos számodra ez a válasz?
 6/14 anonim ***** válasza:
83%

Minden alkalommal hogy meghívod a kopapirollo() függvényt, az újat generál. Csak egyszer hívd meg 1 játékban, és tárold el az eredményt, majd azt használd fel.


jatekos = input("Kő/Papír/Olló? ")

ellenfel = kopapirollo()


if jatekos in ko_valasz:

. . if ellenfel == "papír":

. . . . print("Ön vesztett")

. . elif ellenfel == "kő":

. . . . print("Döntetlen")

...

...

elif jateekos in papir_valasz:

...

...

elif jatekos in ollo_valasz:

...

...

else:

. . print("Hibás bemenet!")

2017. febr. 1. 21:55
Hasznos számodra ez a válasz?
 7/14 anonim ***** válasza:
79%

Talán az van, hogy nem kellene ennyiszer meghívnod a kopapirollo() függvényt, mert így minden if-nél más ereményt ad vissza. Így lehet, hogy egyik if sem teljesül.

Minden körben csak egyszer hívd meg az eredmény eltárolásával. És az eltárolt eredményt használd az ifeknél.

2017. febr. 1. 21:59
Hasznos számodra ez a válasz?
 8/14 anonim ***** válasza:
57%
Na, szóval pont úgy, ahogy a #6-os írja. :)
2017. febr. 1. 22:00
Hasznos számodra ez a válasz?
 9/14 A kérdező kommentje:
szuper, köszönöm!
2017. febr. 1. 22:07
 10/14 sédoiglskdjfgélksdjf ***** válasza:
51%

Ez a kod egyszeruen tragikus.... osszesen van 3 fele lehetseges kimenet (veszit/gyoz/dontetlen), es te kepes vagy 12 if statement-et leirni? :D


http://pastebin (pont) com/NkG27Uef

2017. febr. 2. 00:49
Hasznos számodra ez a válasz?
1 2

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!