Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 需要帮助写函数代码吗_Python - Fatal编程技术网

Python 需要帮助写函数代码吗

Python 需要帮助写函数代码吗,python,Python,我目前正在尝试编写一个函数ticker(),它将打开一个文件,读取它并要求用户输入公司名称。当用户输入公司名称时,它将返回该公司的股票代码 还提供了一个数据文件,其格式如下: Name of Company #1 Ticker Symbol of Company #1 Name of Company #2 Ticker Symbol of Company #2 ... 我需要的视图是这样的: ticker('test.txt') Enter Company Name: YAHOO Ticker

我目前正在尝试编写一个函数
ticker()
,它将打开一个文件,读取它并要求用户输入公司名称。当用户输入公司名称时,它将返回该公司的股票代码

还提供了一个数据文件,其格式如下:

Name of Company #1
Ticker Symbol of Company #1
Name of Company #2
Ticker Symbol of Company #2
...
我需要的视图是这样的:

ticker('test.txt')
Enter Company Name: YAHOO
Ticker: YHOO
我目前的代码是:

def ticker(x):
    d = {}
    infile = open(x,'r')
    content = infile.readlines()
    for line in (x):
        file = line.split('\n')

但是现在我完全不知道如何计算它。

我不确定您正在读取的文件的格式,但是下面的代码将读取该文件并将其拆分为非空行

def ticker(filename):
    lines = open(filename).read().split('\n')
    lines = [x in lines if x]

请更改文件格式,或尝试以下操作:

ticker = {}
for company, ticker in (x):
    ticker[company] = ticker
这将为您提供一个,可以像
dictionary[key]
那样访问它并返回其值。我相信,如果你在谷歌上搜索用户输入,你可以让它工作。可以应用大小写转换,这样用户输入的大小写就无关紧要了


如果这并不能让你有足够的考虑,试着更努力地/雇佣一个顾问或者问一些问题来表明你是在努力的。

如果你确信你的数据文件的格式,你可以使用代码波纹管,但是要记住,在不处理可能的异常的情况下处理文件不是一个好主意。
def ticker(filename):
    with open(filename, 'r') as f:
        lines = [line.strip() for line in f.readlines()]
        return dict(zip(lines[::2], lines[1::2]))

data = ticker('test')
name = raw_input('Enter Company Name: ')
print 'Ticker:', data.get(name.strip(), 'Not Found!')

下面是一个非常原始和简单的实现,您可以对其进行改进

def ticker(filename):
    name = raw_input("Enter Company Name:")
    f = open(filename, "r")
    l = f.readline()
    ticker = ''
    while l:
        if l.strip() == name:
            ticker = f.readline().strip()
            break
        else:
            l = f.readline()
    if ticker:
        print "Ticker: %s" % ticker
    else:
        print "Ticker not found!"

ticker("1.txt")

您正在读取的文件的格式是什么?请修复代码的缩进。对于(x)中的行,您希望如何工作?