输入分配值后不调用函数(Python)

时间:2017-11-23 20:27:28

标签: python input integer readfile

我有一个小文件,每行都有一堆短语。我希望用户输入一个数字,该数字将打印选定的行。

def printSpecLine(x):
    print('started')
    with open('c:/lab/save.txt') as f:
        for i, line in enumerate(f, 1):
            if i == x:
                break
    print (line)
    print('done')
    f.close()

s = int(input("Enter a number: "))
printSpecLine(s)

我没有错误地运行它,但是根本没有调用该函数。印刷"开始" (第二行)甚至没有发生。我在这里错过了一步吗?

2 个答案:

答案 0 :(得分:1)

对此的唯一解释是您实际上并未输入提示!似乎没有任何其他原因至少不会产生第一个print

请记住input()正在阻止,因此在您输入号码并按enter之前,程序将暂停到原位(即不调用该功能)。

答案 1 :(得分:0)

显然我正在使用的ide有原始输入和转换整数的问题。 Sublime Text 3不能很好地获取python输入。谢谢你的回答。