Помощь с питоном и оператором - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать программу, похожую на линкор в python (любитель). Я попробовал несколько вещей, и я не могу понять, почему эта программа возвращает промах, даже если условия совпадают.Что мне здесь не хватает?спасибо

import random
import os
import time


XAXIS = [1,2,3,4,5,6,7,8,9,10]
YAXIS = [1,2,3,4,5,6,7,8,9,10]


########Generate Test Enemy Position
enemyPosX = random.randrange(1,len(XAXIS))
enemyPosY = random.randrange(1,len(YAXIS))


print(enemyPosX)
print(enemyPosY)





looping = True
while looping:
    xAim = input("set X gun position (1-10):: ")
    yAim = input("set Y gun position (1-10):: ")

    xAim = int(xAim)  #thought maybe I was comparing string to int
    yaim = int(yAim)

    print("{} {} :: {} {} ".format(enemyPosX, xAim, enemyPosY, yAim)) # Check Values for problem

    if (xAim == enemyPosX) and (yAim == enemyPosY): #<---- Should both return true but nope
        print("HIT!!!")
        time.sleep(3)
        looping = False
    else:
        print("MISS!!") #<--Getttin Miss regardless of Input
        ```

1 Ответ

0 голосов
/ 26 марта 2019

Следующая строка - ваша проблема.

yaim = int(yAim)

Обратите внимание на разницу в капитализации. Следовательно, в условии вашего оператора if вы сравниваете yAim (который все еще является строкой) и врагаPosY, который является целым числом, что приведет к False.

if (xAim == enemyPosX) and (yAim == enemyPosY):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...