如何使用范围和累加器功能?

时间:2017-10-14 22:11:47

标签: python python-3.x

我是python的初学者,我的任务让我有点头疼。

我的任务是:

编写一个程序,按照从a-z的顺序打印字母表的字符串。鉴于字符串&acecikmoqsuwy'和' bdfhjlnprtvxz'使用for循环中的range函数创建第三个字符串。使用累加器创建第三个字符串。

我真的不明白如何使用累加器和范围功能......我已经查看了我的导师提供的说明,但他们并不是很清楚。

到目前为止,我有 -

#Alphabet code
s1 = 'acegikmoqsuwy'
s2 = 'bdfhjlnprtvxz'
s3 = list.sort([s3])
print(s3)

1 个答案:

答案 0 :(得分:2)

"累加器"是一个变量,它保存使用循环完成的计算的临时结果。例如,要对整数列表求和,可以将累加器变量设置为零,然后使用循环将列表中的每个整数添加到累加器。循环结束后,累加器的值就是列表的总和。

在您的问题中,s1包含字母表中的第1,第3,第5,第7 ......字母,而s2包含第2,第4,第6,第8 ......字母。您可以通过s1中的第一个字母后跟s2中的第一个字母,然后在s1中添加第二个字母,然后在{{1}中添加第二个字母来构建整个字母表。然后......所以我们可以使用累加器一次添加一个字母。

s2函数的整数低于range(n)的值,从n开始。我们可以将这些整数用作0s1字符串的索引,以便一次获得一个字符。关于s2可以说更多 - 你应该阅读一个教程以了解更多信息,因为这不是教程的网站。

以下是一些可以满足您需求的代码。请注意,这取决于具有相同长度的两个输入字符串 - 否则会发生错误。我更改了变量名称,使它们更加自我记录。你应该注意到这段代码不是" Pythonic"在使用索引时。有更好的方法可以做到这一点,但他们不使用range()

range()

打印结果为字母:

string1 = 'acegikmoqsuwy'
string2 = 'bdfhjlnprtvxz'
accum = ''
for index in range(len(string1)):
    accum += string1[index] + string2[index]
print(accum)
相关问题