Tom学编程 发表于 2020-8-22 16:17:57

input问题

代码:
first=input('1')
second=input('2')


运行结果:
1从明天起,做一个幸福的人
喂马,劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开

从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人

给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开
2
>>> first
'从明天起,做一个幸福的人'
>>> second
'喂马,劈柴,周游世界'


为什么会出现这种结果input()只能接受一行的字符吗?
为什么在2出来之前的字符也可以被second接收?

sunrise085 发表于 2020-8-22 16:26:52

本帖最后由 sunrise085 于 2020-8-22 16:31 编辑

input函数以回车作为输入的结束标志
从输入流读取一行内容
剩余的内容会留在缓冲区,等待执行第二个input的时候,又会读取一行内容,因此就出现了你遇到的这种情况

PS:这多行内容是你复制粘贴过来的吧?正常输入的话,不会出现这种情况吧?正常情况下,敲回车的时候就会执行第二句了
看下图,
上面的是你的运行结果,多行内容直接复制粘贴;
下面的是正常输入,敲回车的时候赋值,并执行下一句

1q23w31 发表于 2020-8-22 16:27:18

https://fishc.com.cn/forum.php?mod=viewthread&tid=142732&highlight=input
input只能接收换行符之前的内容,无法接收多行
页: [1]
查看完整版本: input问题