我是初学者,我正在训练CodeAbbey。他们给你输入,你可以硬编码,但我更喜欢使用输入命令。
当它是单行输入时,它非常简单,我读它并将其存储在列表中。当它们提供多个线路输入时,这变得棘手。起初我有点作弊,我一个接一个地复制/粘贴每一行。但有时候有40个测试要做,所以40个复制/粘贴...而且我很懒。很懒,我花了2个小时搜索如何在列表中输入我的多行输入。
这是一个数字列表,所以基本上这就是我所做的:
list1= [int(x) for x in input("your input").split()]
这适用于在列表中存储数字。 但是当我的输入中有多行时,这只给了我第一行。我也尝试过:
list1= [int(x) for x in input("your input").split("\n")]
或者:
list1= [int(x) for x in input("your input").replace("\n", "")]
这些都没有改变,只得到第一行输入。
我读到更简单的解决方案是将输入存储文本文件并使用我的代码读取它,但我现在不想使用外部文件,因为我开始学习。
感谢您的回答(并原谅我非常糟糕的英语,而不是母语人士)。
编辑:有问题的练习:http://www.codeabbey.com/index/task_view/min-of-three
我按照建议将测试数据复制/粘贴为输入,但仅存储第一行。我的意思是,如果我打印我的列表,只显示第一个数字,如果我用len()打印列表的长度,我得到0,这意味着我的列表中有1个项目,对吧?