为什么我的脚本应该打开然后立即关闭';T(Python)

为什么我的脚本应该打开然后立即关闭';T(Python),python,if-statement,Python,If Statement,我正试图用python作为一个项目来制作一个更热/更冷的游戏。目前,当我打开程序时,它会立即关闭,尽管有几个循环和输入。我花了整整两个小时才弄明白。有什么建议吗 import random Correct = random.randint(1, 100) Oldval = 50 Newval = 50 while Newval != Correct: Newval = Newval + input("How much do you want to move?") if (Newv

我正试图用python作为一个项目来制作一个更热/更冷的游戏。目前,当我打开程序时,它会立即关闭,尽管有几个循环和输入。我花了整整两个小时才弄明白。有什么建议吗

import random
Correct = random.randint(1, 100)
Oldval = 50
Newval = 50
while Newval != Correct:
    Newval = Newval + input("How much do you want to move?")
    if (Newval - Correct) > (Oldval - Correct):
        print("Colder!")
    else:
        print("Warmer!")
    Oldval = Newval
Win = input(You Win!)

您试图添加一个字符串和一个整数。另外,您的最终输入在您赢得的
中没有引号字符串。以下是已修复问题的代码:

import random
correct = random.randint(1, 100)
oldval = 50
newval = 50
while newval != correct:
    newval = newval + int(input("how much do you want to move?"))
    if (newval - correct) > (oldval - correct):
        print("Colder!")
    else:
        print("Warmer!")
    oldval = newval
win = input("You Win!")

您可以使用
pylint
工具来检测诸如缺少引号之类的错误。

派林试验


E:12,0:无效语法(,第12行)(语法错误)


您可以使用
pip install pylint

安装
pylint
input(“您赢了!”)
您还需要将输入转换为Int
int(输入(“您想移动多少?”)
修复最后一行(添加“”)和
input(“您想移动多少?”)
返回一个字符串,因此将其转换为int=>
int(输入(“您想移动多少?”)
),而不是通过调用
input
,试图在最后保持应用程序运行,运行应用程序时,应确保窗口在应用程序完成后不会关闭(例如,您可以从已打开的终端启动应用程序,或使用IDE/编辑器,允许您在未关闭的选项卡或窗口中运行应用程序)。这样,在出现错误的情况下,您实际上可以读取错误消息。