问题描述
我不知道为什么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(),这就是问题所在。