在C++代码中,我可以输入1 2 3 4 5 6 7 8,然后在控制台中按enter键,输出如下所示:
1 2
3 4
5 6
7 8但是在Python代码中,当我试图通过在控制台中输入1 2 3 4 5 6 7 8和enter来生成相同的输出时,但它生成了一个错误...相反,我可以在控制台中给出输入和输出,如下所示的Python:
1 2
1 2
3 4
3 4
5 6
5 6
7 8
7 8我可以看到我的代码在Python中是不够的…
我试着把input().split()放在一个循环中。
/* C++ */
int x,y;
for (int i=0; i<4; i++){
cin>>x>>y;
cout<<x<<y<<endl;
}# Python
for i in range(4):
x, y = input().split()
print(x, y)我希望Python可以只在一行中接受这些输入,并像C++一样在控制台中生成输出。
发布于 2019-07-26 03:02:11
在使用以下代码之前,请先看一下压缩和迭代器:
iterator = iter(input().split())
for x,y in zip(iterator,iterator):
print(x,y)输入:
1 2 3 4 5 6 7 8
输出:
1 2
3 4
5 6
7 8发布于 2019-07-26 02:56:38
这是因为与c++相反,在Python语言中,每次调用input时,它都会等待用户的新输入。因此,如果您希望输入8个数字并将其成对打印,则应该在循环之前执行一次input。如下所示:
nums = input().split()
for i in range(0, len(nums), 2):
print(nums[i], nums[i+1])这是在1 2 3 4 5 6 7 8的输入上给出的结果:
1 2
3 4
5 6
7 8https://stackoverflow.com/questions/57208415
复制相似问题