所以我是大一的计算机科学专业的学生。我正在上一门教授Python的课。这是我的任务:
创建一个以字符串和列表为参数的函数。字符串应该包含字母表的前10个字母,列表应该包含每个字母对应的数字。将字符串和列表压缩到一个元组列表中,元组将每个字母和数字配对。然后函数应在单独的行上分别打印数字和相应的字母。提示:使用zip函数和循环!你知道吗
到目前为止,我的情况是:
def alpha(letter, number):
letter = "abcdefghij"
number = [1,2,3,4,5,6,7,8,9,10]
return zip(letter, number)
print alpha(letter, number)
我遇到的问题是第5行有个错误,它说“letter”没有定义。我觉得应该有一个for循环,但是,我不知道如何合并它。请帮帮我。你知道吗
zip
适用于iterables(字符串和列表都是iterables),因此您不需要for循环来生成对,因为zip
实际上是为您执行for循环。但是,看起来您需要一个for循环来打印这些对。你知道吗您的代码有点混乱,您通常希望在函数之外定义变量,并使函数尽可能通用:
您所遇到的错误是由于变量的范围造成的。您正在函数内部定义
letter
和number
,因此在调用alpha(letter,number)
时,尚未定义它们。你知道吗要打印结果,可以迭代
zip
的结果,如下例所示:输出:
相关问题 更多 >
编程相关推荐