【发布时间】:2016-02-09 18:33:18
【问题描述】:
我对 Python 比较陌生,一直在尝试解决 HackerRank 上的一些竞争性编程问题。为了接收输入,我必须从“stdin”中获取它,因此我在一个问题中成功地使用了它:
...
n,m = map (int, stdin.readline().rstrip().split())
coins=[]
coins=[int(n) for n in stdin.readline().rstrip().split()]
...
需要输入:
4 3
1 2 3
并将 4、3 分别作为整数数据类型存储在 n 和 m 中,并将 1、2、3 存储在列表中。
但是在一个新程序中我尝试了以下方法:
from sys import stdin,stdout
n = map (int, stdin.readline().rstrip().split())
arr=[]
for i in range (n):
x= map(int, stdin.readline().rstrip().split())
arr.append(x)
目的是从第一行获取一个整数 n,然后读取包含一个整数的以下 n 行,并将这些整数存储在一个名为 arr 的列表中。 这会引发运行时错误,指出 n 是类映射对象,而不是整数。
我尝试在这两种情况下都使用 type(n) ,第一个返回 int 时,第二个返回 map 对象。如何修复我的代码并获得预期的输入?【问题讨论】:
标签: python python-3.x stdin