鱼C论坛

 找回密码
 立即注册
查看: 571|回复: 1

def 函数设置是不是有问题,求大佬修改

[复制链接]
发表于 2018-12-7 22:42:15 | 显示全部楼层 |阅读模式

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

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

x
import os
import linecache
def tiqu(keyword):
        with open(r'C:\\Users\\Administrator\\Desktop\\OUTCAR','r') as f:
                i = 1
                for each in f:
                        if "keyword" in each:
                                s=i
                        i += 1
                        a=s
                        return a
#得到关键字(fermi   )所在行数
def han(s,su):
        c=linecache.getline(r'C:\\Users\\Administrator\\Desktop\\OUTCAR',s)
        #得到所在行
        k=c.split()
        f=float(k[su])
        #输出第几个数的浮点数(su)
        print(f)
#输出关键字所在行数的第(q=2)个数字
k='fermi   '
q=2
s=tiqu(k)
print han(s,q)
   这是我的代码,求问怎么样通过调用def函数,得到C:\\Users\\Administrator\\Desktop\\OUTCAR中关键字所在行数,并输出该行的第2个数!
谢谢各位大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-8 00:58:42 | 显示全部楼层
本帖最后由 xy123151 于 2018-12-8 01:01 编辑


1.  if keyword in each: 不加括号的
2.  突然冒出个s=i,前面没有声明过s,而且这个s会被之后新的i顶替掉。这里应该定义s是个空列表,然后s.append(i)把搜索到有keyword的行数收集起来
3. 第二个函数都没return
后面的linecache我没学过,就不给你改了,多练练基本功吧,好多语法问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 01:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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