鱼C论坛

 找回密码
 立即注册
查看: 1073|回复: 21

[已解决]定义函数

[复制链接]
发表于 2020-6-6 06:23:39 | 显示全部楼层 |阅读模式

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

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

x
下面的代码是处理了一个文件,
有没有哪位大佬能在下面的代码中找个函数定义并运用一下,
任何函数都行,急需,有点不太会定义函数,
大家路过的请帮下小弟,万分感激🙏
import numpy as np
import csv

filename = 'iris.data'
with open(filename, 'r') as csvfile:
    dataSet = list(csv.reader(csvfile))
    num = 1
    for line in dataSet:
        print(num, line)
        num += 1

sum = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

for i in range(3):
    for j in range(50):
        for k in range(4):
            sum[i][k] += float(dataSet[50*i+j][k])

average = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

for i in range(3):
    for j in range(4):
        average[i][j] = np.around(sum[i][j]/50, 2)

print('Iris plant: sep len, sep wid, pet len, pet wid')

for i in range(3):
    print(dataSet[i*50][4]+', 50 samples: ', end='')
    for j in range(4):
        if j == 3:
            print(str(average[i][j]))
        else:
            print(str(average[i][j])+', ', end='')
最佳答案
2020-6-6 09:57:57
本帖最后由 Twilight6 于 2020-6-6 13:40 编辑
一条小蟒蛇, 发表于 2020-6-6 09:49
这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那 ...

import numpy as np
import csv

def get_average(filename):
    with open(filename, 'r') as csvfile:
        dataSet = list(csv.reader(csvfile))
        num = 1
        for line in dataSet:
            print(num, line)
            num += 1
    
    sum = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
    
    for i in range(3):
        for j in range(50):
            for k in range(4):
                sum[i][k] += float(dataSet[50*i+j][k])
    
    average = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
    
    for i in range(3):
        for j in range(4):
            average[i][j] = np.around(sum[i][j]/50, 2)
    
    print('Iris plant: sep len, sep wid, pet len, pet wid')
    
    for i in range(3):
        print(dataSet[i*50][4]+', 50 samples: ', end='')
        for j in range(4):
            if j == 3:
                print(str(average[i][j]))
            else:
                print(str(average[i][j])+', ', end='')
filename = 'iris.data'
get_average(filename)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-6 06:57:13 From FishC Mobile | 显示全部楼层
这需求!!!看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 07:10:47 | 显示全部楼层
wp231957 发表于 2020-6-6 06:57
这需求!!!看不懂

同……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 07:23:53 | 显示全部楼层
本帖最后由 xiaosi4081 于 2020-6-6 07:31 编辑
import numpy as np
import csv
def test():
    global dataSet,num
    with open(filename, 'r') as csvfile:
        dataSet = list(csv.reader(csvfile))
        num = 1
        for line in dataSet:
             print(num, line)
             num += 1
test()
sum = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

for i in range(3):
    for j in range(50):
        for k in range(4):
            sum[i][k] += float(dataSet[50*i+j][k])

average = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

for i in range(3):
    for j in range(4):
        average[i][j] = np.around(sum[i][j]/50, 2)

print('Iris plant: sep len, sep wid, pet len, pet wid')

for i in range(3):
    print(dataSet[i*50][4]+', 50 samples: ', end='')
    for j in range(4):
        if j == 3:
            print(str(average[i][j]))
        else:
            print(str(average[i][j])+', ', end='')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 08:13:19 | 显示全部楼层
看不懂....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-6-6 09:38:20 | 显示全部楼层

https://fishc.com.cn/thread-171371-1-1.html
大佬,你好,刚才没描述清楚问题,还请看下这个可以吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 09:38:51 | 显示全部楼层

终于有你看不懂的了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:39:09 | 显示全部楼层
wp231957 发表于 2020-6-6 06:57
这需求!!!看不懂

https://fishc.com.cn/thread-171371-1-1.html
大佬,你好,刚才没描述清楚问题,还请看下这个可以吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:41:39 | 显示全部楼层

https://fishc.com.cn/thread-171371-1-1.html
大佬,你好,刚才没描述清楚问题,还请看下这个可以吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 09:42:35 | 显示全部楼层
一条小蟒蛇, 发表于 2020-6-6 09:41
https://fishc.com.cn/thread-171371-1-1.html
大佬,你好,刚才没描述清楚问题,还请看下这个可以吗?

这个帖子没了,你可以直接在这个帖子回复问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:44:05 | 显示全部楼层
Twilight6 发表于 2020-6-6 09:42
这个帖子没了,你可以直接在这个帖子回复问题

刚回复了,没通过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:47:16 | 显示全部楼层

这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那个结果,让求文件的平均值,这个我自己写出来了。
报告的另一个要求就是在求的过程中用上一个自己定义的函数(定义简单复杂都行,只要是个定义出来的函数就行,然后在稍微解释一下,这个实在是不会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:48:06 | 显示全部楼层
Twilight6 发表于 2020-6-6 09:42
这个帖子没了,你可以直接在这个帖子回复问题

这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那个结果,让求文件的平均值,这个我自己写出来了。
报告的另一个要求就是在求的过程中用上一个自己定义的函数(定义简单复杂都行,只要是个定义出来的函数就行,然后在稍微解释一下,这个实在是不会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:49:09 | 显示全部楼层
Twilight6 发表于 2020-6-6 09:42
这个帖子没了,你可以直接在这个帖子回复问题

这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那个结果,让求文件的平均值,这个我自己写出来了。
报告的另一个要求就是在求的过程中用上一个自己定义的函数(定义简单复杂都行,只要是个定义出来的函数就行,然后在稍微解释一下,这个实在是不会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:50:20 | 显示全部楼层
wp231957 发表于 2020-6-6 06:57
这需求!!!看不懂

这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那个结果,让求文件的平均值,这个我自己写出来了。
报告的另一个要求就是在求的过程中用上一个自己定义的函数(定义简单复杂都行,只要是个定义出来的函数就行,然后在稍微解释一下,这个实在是不会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 09:50:58 | 显示全部楼层

这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那个结果,让求文件的平均值,这个我自己写出来了。
报告的另一个要求就是在求的过程中用上一个自己定义的函数(定义简单复杂都行,只要是个定义出来的函数就行,然后在稍微解释一下,这个实在是不会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 09:57:57 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-6 13:40 编辑
一条小蟒蛇, 发表于 2020-6-6 09:49
这个是我们老师留的一篇报告,报告的内容是让下载一个iris.data 文件,然后就是让写代码,来得到他要求那 ...

import numpy as np
import csv

def get_average(filename):
    with open(filename, 'r') as csvfile:
        dataSet = list(csv.reader(csvfile))
        num = 1
        for line in dataSet:
            print(num, line)
            num += 1
    
    sum = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
    
    for i in range(3):
        for j in range(50):
            for k in range(4):
                sum[i][k] += float(dataSet[50*i+j][k])
    
    average = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
    
    for i in range(3):
        for j in range(4):
            average[i][j] = np.around(sum[i][j]/50, 2)
    
    print('Iris plant: sep len, sep wid, pet len, pet wid')
    
    for i in range(3):
        print(dataSet[i*50][4]+', 50 samples: ', end='')
        for j in range(4):
            if j == 3:
                print(str(average[i][j]))
            else:
                print(str(average[i][j])+', ', end='')
filename = 'iris.data'
get_average(filename)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 10:30:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 10:39:10 | 显示全部楼层

大佬你好,上面的那个代码少了filename的赋值了filename = 'iris.data'(那个文件里有3类,一类有50行,1行有4个)
然后就是有了赋值后,按照你这个输进去也运行不出结果了.
他最终的结果是要这个,https://github.com/naltoma/pytho ... dividual_average.md

发链接还需要审核
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 10:44:36 | 显示全部楼层

大佬你好,上面的那个代码少了filename的赋值了filename = 'iris.data'(那个文件里有3类,一类有50行,1行有4个)
然后就是有了赋值后,按照你这个输进去也运行不出结果了.
可以大概解释下这个是为啥这么定义吗,有点不明白,


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 20:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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