我只是python的初学者,我必须做基于它的第一个练习,我也有他们的解决方案,但我有一些问题,从一些命令行了解其中的一些,语句和函数.
这是练习之一:创建一个名为mixlist的新空列表.此新列表将包含颜色列表中两种相邻颜色的颜色混合.颜色列表中的前两种颜色是"红色"和"黄色".因此,mixlist中的第一项将是"红黄色"(红色和黄色的混合).注意'_'字符.创建一个循环,自动填充mixlist.最后,输入mixlist查看结果.如果结果错误,您必须更正程序.
这就是答案:
colourList = ['red', 'yellow', 'green', 'white']
mixList = []
count = 0
oldx = " "
for x in colourList:
if count > 0:
print oldx + "_" + x
mixList.append(oldx + "_" + x)
oldx = x
count += 1
print mixList
Run Code Online (Sandbox Code Playgroud)
我不明白大部分的东西在里面,比如,究竟是oldx为什么它意味着一个空白" ",在开始时,然后在结束时= x使R可以不看之间的差异oldx,并x因此我也没有得到这个stamment:oldx + "_" + x
我很困惑,我需要一些帮助......
感谢大家提前为您提供帮助
请注意,"答案"是无用的复杂.一个更简单的算法,具有更好的命名和摆脱无用的"计数"变量:
colourList = ['red', 'yellow', 'green', 'white']
mixList = []
prev_colour = None
for current_colour in colourList:
if prev_colour is not None:
mix = prev_colour + "_" + current_colour
print mix
mixList.append(mix)
prev_colour = current_colour
print mixList
Run Code Online (Sandbox Code Playgroud)
虽然这可能是最好的"cs 101"版本,但是pythonic版本是单行的:
mixList = ["%s_%s" % pair for pair in zip(colourList, colourList[1:])]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1078 次 |
| 最近记录: |