Это небольшая и очень простая программа / игра.У меня проблемы с неожиданным закрытием терминала Python до конца кода.Но в PyCharm IDE, когда я запускаю код, программа работает нормально и заканчивается только тогда, когда весь код выполнен и ввод был введен пользователем.Я не знаю, из-за ли это логики моего программирования, я все еще новичок в этом, и поэтому я знаю, что это может быть проблемой.
Я пытался использовать ввод для предотвращения окназакрытие.
input("\nPress any key to exit... ")
Как я уже говорил ранее, это похоже на работу в IDE, но не при запуске программы непосредственно из файла .py
I не хочет передать CMD или командный файл для запуска программы.Я хочу, чтобы пользователи могли запустить игру, просто нажав на файл Pycharm и запустив его через соответствующую консоль.
Вот код:
import random
inputCounter = 0
lineNumber = 0
playerNumber = 0
randomNumber = random.randint(1, 100)
win = 0
playerName = input("Please enter your name: ")
while playerNumber is not randomNumber:
playerNumber = int(input("Please guess a whole number from 1 to 100: "))
inputCounter += 1
if playerNumber < randomNumber:
print("The number you have entered is LOWER than the generated number, please try again!")
continue
elif playerNumber > randomNumber:
print("The number you have entered is HIGHER than the generated number, please try again!")
print()
if inputCounter > 1:
print("You won with {0} guesses".format(inputCounter))
else:
print("CONGRATS! You won with 1 guess!!")
scoreList = open("Score.txt", "a",)
scoreList.write("Player: {0} | Guesses: {1}\n".format(playerName, inputCounter,))
scoreList = open("Score.txt", "r")
print("\nHere is your score list :")
for line in scoreList:
line = line.strip()
find = line.find(playerName)
if find >0:
lineNumber += 1
score = line[line.rfind(" ")+1:]
print("Attempt #{0} | Score: {1}".format(lineNumber, score))
input("\nPress any key to exit... ")
scoreList.close()
PyCharm IDE запускает программу до конца (выводит количество попыток и табло игрока, а затем ожидает выхода пользователя). Это то, что я хочу, чтобы при запуске приложения через консоль Python.
РЕДАКТИРОВАТЬ: Это также имеет место, если я запускаю программу через CMD через пакетфайл, я все еще хотел бы избежать этого, если это возможно
На данный момент консоль Python закрывается, как только пользователь угадывает число исправлений, не ожидая выхода ввода пользователя.Я предполагаю, что программа все еще печатает количество попыток и табло игрока, но консоль закрывается слишком быстро, чтобы пользователь мог видеть эти строки.