我不知道为什么var = intinput错误

问题描述

我不知道为什么int(input())出错

我确实单击了执行按钮,但显示错误

我不能输入任何字符串或整数

我的代码是:

import sys
input = sys.stdin.readline

def process_queue(queue_list,f_idx,r_idx,command):
   cmd = command[0]
   if cmd == "push":
        queue_list[r_idx] = command[1]
        r_idx += 1
   elif cmd == "pop":
        if f_idx == r_idx:
            print(-1)
        else:
            print(queue_list[f_idx])
            f_idx += 1
   elif cmd == "size":
        print(r_idx-f_idx)
   elif cmd == "empty":
        print(int(r_idx == f_idx))
   elif cmd == "front":
        if f_idx == r_idx:
            print(-1)
        else:
            print(queue_list[f_idx])
   elif cmd == "back":
        if f_idx == r_idx:
            print(-1)
        else:
            print(queue_list[r_idx-1])

    return [f_idx,r_idx]

n = int(input())
queue_list = [0 for _ in range(n)]
f_idx = 0
r_idx = 0

for _ in range(n):
    command = input().split()
    f_idx,r_idx = process_queue(queue_list,command)

解决方法

这是引起问题的原因:

<input type="checkbox" id="chkAddProposalProduct_{{product.productId}}">

您基本上是在更改标签输入,以便它引用sys.stdin.readline。阅读this

但是查看错误消息会很有帮助。

,

Input()
输入接受用户输入,但不读取转义字符。
它会提示用户输入默认值。

sys.stdin.readline()
readline()还会从用户那里获取输入,但还会读取转义字符。

您本质上是在尝试使用input(),但是您将input命名为sys.stdin.readline(),这就是问题所在。