我试图找出如何用Python简单地发布歌曲歌词
我刚开始学习Python编程,在一个作业中需要用Python写一段代码,来输出这些歌词。
这位老爷爷,他玩了一个
他在我拇指上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了两个
他在我鞋子上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了三个
他在我膝盖上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了四个
他在我门上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了五个
他在我蜂箱上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了六个
他在我的棍子上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了七个
他在天堂上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了八个
他在我门口玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了九个
他在我脊背上玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这位老爷爷,他玩了十个
他又玩了个小把戏
小把戏,给你的狗骨头
这位老爷爷滚回家了
这是我目前写的代码,但它没有达到我想要的效果。我不太确定如何写while循环,或者如何按顺序从列表中选择一个单词。
num = ['one','two','three','four','five','six','nine','ten']
end = ['on my thumb','on my shoe','on my knee','on my door','on my hive','on my sticks','up in heaven','on my gate','on my spine','once again']
z=1
print "This old man, he played",(num)
print "He played knick-knack", (end)
print "Knick-knack paddywhack, give your dog a bone"
print "This old man came rolling home"
7 个回答
首先,了解一下Python中的元组和列表,然后再看看for循环。
我建议你用元组来存储那些相关联的东西。
# define a list of tuples
lst = [ ("eggs", "an omelet"), ("bread", "a sandwich"), ("sugar", "cookies") ]
for ingredient, food in lst:
print "I need", ingredient, "to make", food + "."
如果你运行上面的代码,你会得到以下输出:
I need eggs to make an omelet.
I need bread to make a sandwich.
I need sugar to make cookies.
这就是用Python的方式来解决这个问题。还有另一种方法,我不太喜欢:
ingredients = ["eggs", "bread", "sugar"]
foods = ["an omelet", "a sandwich", "cookies"]
for i in range(len(ingredients)):
print "I need", ingredients[i], "to make", foods[i] + "."
这个方法会打印出和之前例子一样的结果,但使用起来更麻烦。你需要确保两个列表保持同步。虽然“元组列表”这个概念听起来有点奇怪,但一旦你习惯了,其实会简单很多。
我建议你去看看这本书 《学习Python》,它会教你很多东西,而且内容非常清晰。
提示:你需要使用一个循环
我建议你看看Python 控制流的文档。同时注意一下range()
这个函数。
你可以这样从数组中获取第n个元素:
val = some_array[n]
记住,在Python中,数组的计数是从0开始的,而不是从1开始。