鱼C论坛

 找回密码
 立即注册
查看: 1210|回复: 6

[已解决]0基础学习python 21课课后题第五题

[复制链接]
发表于 2018-5-7 07:26:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大神,我想试试 定义函数的方法来实现 [1,2], [3,4], [5,6], [7,8], [9,10]
这是我做的,但是打印结果只有 【9,10】



def fun(x,y):
    for each1 in x:
        for each2 in y:
            result = [each1, each2]
    return result
        

a = [1,3,5,7,9]
b = [2,4,6,8,10]
f = fun(a,b)
print(f)


请指明为什么只打印最后的9,10.

我还试过这个代码
def fun(x,y):
    x1 = [str(i) for i in x]
    y1 = [str(i) for i in y]
    for each1 in x1:
        for each2 in y1:
            result = [each1, each2]
    return result
        

a = [1,3,5,7,9]
b = [2,4,6,8,10]
f = fun(a,b)
print(f)

将列表转换成字符串,结果打印【‘9’,‘10’】

麻烦大神解答,给出正确代码。



最佳答案
2018-5-7 09:01:42
你用的是嵌套,那样肯定不行,需要将两个元素并列出来。
def fun(x, y):
    www = []
    result = []
    for i in range(5):
        www = [a[i],b[i]]
        result.append(www)
    return result
a = [1, 3, 5, 7, 9]
b = [2, 4, 6, 8, 10]
f = fun(a, b)
print(f)
输出结果:
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-5-7 08:06:54 From FishC Mobile | 显示全部楼层
每次循环都将result里面的值替换了,你需要将每次循环的结果存储,最后返回
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-7 08:07:51 | 显示全部楼层
有没有自动化的课程
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-7 09:01:42 | 显示全部楼层    本楼为最佳答案   
你用的是嵌套,那样肯定不行,需要将两个元素并列出来。
def fun(x, y):
    www = []
    result = []
    for i in range(5):
        www = [a[i],b[i]]
        result.append(www)
    return result
a = [1, 3, 5, 7, 9]
b = [2, 4, 6, 8, 10]
f = fun(a, b)
print(f)
输出结果:
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-7 09:30:27 | 显示全部楼层
感谢 2楼和4楼解答
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-7 09:33:36 | 显示全部楼层
def g(max):
        a, b = 1, 2
        while b<=max:
                yield [a, b]
                a += 2
                b += 2

for lyst in g(10):
        print(lyst, end=' ')
==================
看到这种题目,下意识就要想到generator
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-7 09:43:07 | 显示全部楼层
ABC23 发表于 2018-5-7 09:33
def g(max):
        a, b = 1, 2
        while b

厉害,学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-30 03:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表