Bu soru daha fazla olduğunu rağmen kontrol değişkeni değişmez bir "Ben ANDOLSUN çalışması gerekir MY KOD" ... siz "Sesimin kısmına bakarsanızSTR karşılaştırması python'da gerçekten nasıl çalışır? Kodum doğru gibi görünüyor ama Python farklı kullanıcı girişlerine
Rock, Paper, Scissors "python'un temellerini öğrenmeye çalışırken yazdığım oyunlar, kullanıcının giriş strini bir sayıya dönüştüren bir bölüm var. Nedense
playerChoice = input('Rock, paper, scissors: ')
if playerChoice is ('Rock'or'rock'):
playerChoiceNum = 0
print ('PLAYER CHOICE IS ROCK')
if playerChoice is 'Paper' or 'paper':
playerChoiceNum = 1
print ('PLAYER CHOICE IS PAPER')
if playerChoice is 'Scissors' or 'scissors' or 'Scissor' or 'scissor':
playerChoiceNum = 2
print ('PLAYER CHOICE IS SCISSORS')
, piton playerChoiceNum için '0' olursa olsun bir giriş olarak yazdıklarınızla her zaman ayarlar. == Karşılaştırma işlecini 'yerine' yerine kullanmak yerine kullanıyorum.
Bazen playerChoiceNum = 2 takılıp karar verir ve bunu bana nasıl piton aslında hakkında daha fazla öğretecek hissediyorum bazen = 0.
merak ediyorum bu neden oluyor için playerChoiceNum yapıştı dil olarak işlev görür, ama benim için yaşam, neler olduğunu anlayamaz. Herhangi bir yardım mutluluk duyacaktır!
Kendiniz için çalıştırmayı denemek isterseniz, tam "oyun" kodum.
from random import randint
playerScore = 0
while playerScore < 3:
print('hey person, please choose rock, paper or scissors to try and beat the computer 3 times')
playerChoice = input('Rock, paper, scissors: ')
if playerChoice is ('Rock'or'rock'):
playerChoiceNum = 0
print ('PLAYER CHOICE IS ROCK')
if playerChoice is 'Paper' or 'paper':
playerChoiceNum = 1
print ('PLAYER CHOICE IS PAPER')
if playerChoice is 'Scissors' or 'scissors' or 'Scissor' or 'scissor':
playerChoiceNum = 2
print ('PLAYER CHOICE IS SCISSORS')
computerChoiceNum = randint(0,2)
if computerChoiceNum == 0:
print('COMPUTER HAS CHOSEN ROCK')
elif computerChoiceNum == 1:
print('COMPUTER HAS CHOSEN PAPER')
elif computerChoiceNum == 2:
print('COMPUTER HAS CHOSEN SCISSORS')
if playerChoiceNum == computerChoiceNum:
print('DRAW')
if playerChoiceNum == 0 and computerChoiceNum == 1:
print('COMPUTER WINS')
if playerChoiceNum == 0 and computerChoiceNum == 2:
print('PLAYER WINS')
playerScore+=1
if playerChoiceNum == 1 and computerChoiceNum == 2:
print('COMPUTER WINS')
if playerChoiceNum == 1 and computerChoiceNum == 0:
print('PLAYER WINS')
playerScore+=1
if playerChoiceNum == 2 and computerChoiceNum == 0:
print('COMPUTER WINS')
if playerChoiceNum == 2 and computerChoiceNum == 1:
print('PLAYER WINS')
playerScore+=1
print('DEBUG INFO:\n'
'Player Choice: ' + str(playerChoice)+'\n' +
'Player Choice Number Conversion: ' + str(playerChoiceNum)+'\n' +
'Computer Choice: ' + str(computerChoiceNum)+'\n' +
'Player Score: ' + str(playerScore)+'\n')
Bu, yaygın bir çaylak hatası gibi görünüyor, ancak elden ne arayacağınızı bilmek zor olduğu için yeni başlayanlar için hata yapamazsınız. Ancak, yinelenen soru ve cevapları dikkatle okumalısınız. Python iyi çalışıyor, ancak mantıksal operatörleri şu anda yaptığını düşündüğünüz gibi çalışmıyor. –
Evet, daha önce neyi başarmaya çalıştığınıza dair neyi ve niçin bilmediğiniz sorusu önceden sorulmuş olup olmadığını anlamak zor. Beni doğru yönde gösterdiğin için teşekkürler, çok teşekkürler! –