我正在上课学习摩尔斯电码。在课程开始时,我们会收到一个.txt格式的单词列表。我把这个列表转换成莫尔斯电码.mp3文件。(LCWO.net)每个单词播放一次,但是,最好是播放多次,这样我就可以学习模式
我的目标是获取原始文本文件,并根据用户输入多次复制每个单词。我一直在手动输入,但我认为计算机可以更容易地完成这项工作。因此,我选择Python来尝试创建程序。到目前为止,我已经知道如何打开.txt文件,创建一个列表,去掉每个单词后面的换行符,然后将列表打印到屏幕上
如何循环浏览此列表并根据用户输入创建每个单词的副本?例如,用户将为每个单词的3个副本输入一个“3”。举例来说,如果单词列表是['cat', 'dog', 'chicken']
,我如何创建一个列表:['cat', 'cat', 'cat', 'dog', 'dog', 'dog', 'chicken','chicken', 'chicken']
,然后将此列表写入文本文件,使每个单词都在一行上
文件名为'words.txt'
cat cat cat
dog dog dog
chicken chicken chicken
我想我可以找出如何获取用户输入并将其分配给变量,然后将此变量用作生成新列表的循环的一部分。我还认为我可以找出如何将新列表写入文件。我需要帮助的部分是找出如何根据用户的输入(单词的迭代次数)创建列表
我意识到我要求你做这项工作,但我已经阅读了Python文档,我正在努力寻找解决方案
谢谢你的帮助
斯科特
假设您有
l = ['cat', 'dog']
,并且希望每个元素重复3次,您可以使用itertools
库执行以下操作这样可以保持元素的顺序
它不需要任何库(即使是标准的itertools)。只需将列表乘以整数即可
鉴于:
你可以做:
或者,由于字符串是固定不变的,如果您也这样做,您不会感到意外:
这是对Alex Martelli的answer关于如何展平列表的修改。在本例中,
[s, s, s]
或字符串3次如果您正在读取文件,则可以执行以下操作:
相关问题 更多 >
编程相关推荐