2015-11-04 3 views
0

Я Учитывая следующий скелетчтения файлов и соотнесение информации

#This function helps calculate each transactions and return the final balance 
#PARAMETERS: 
#filename: the file going to be read, e.g. "transactions.txt", type: string 
#namelist: a list containing all company names, type: list 
#orgBalance: stores original balance for each company, type: nested list 
#url: the url you are trying to fetch, type: string 
#RETURN: current balance information (after all transactions), type: nested list 
def transaction(filename, namelist, orgBalance, url): 

    #Call fetch(url) to get currency exchange information 
    exchange_info= fetch(url) 
    #Read each line from transactions.txt 
    myFile = open(filename,'r') 
    data=myFile.readlines() 
    #Check which company is conducting transactions 

    #If BUY, then convert the amount of foreign currency to USD 
    #and subtract the calculated amount 

    #If SELL, then convert the amount of foreign currency to USD 
    #and add the calculated amount 

    #Return current balance list 
    #your list should look like 
    #[['Acer', 481242.74], ['Beko', 966071.86], ...] 

и мои списки данных следующим образом:

transaction.txt

Gerdau BUY Brazilian Real: 17454 
Gerdau SELL Botswana Pula: 31162 
Acer BUY Danish Krone: 61376 
Equifax BUY Icelandic Krona: 41983 
Acer BUY Sri Lankan Rupee: 91659 
Datsun SELL Trinidadian Dollar: 71248 
Haribo BUY Indonesian Rupiah: 41548 
Datsun SELL Saudi Arabian Riyal: 71627 

namelist=['Acer', 'Beko', 'Cemex', 'Datsun', 'Equifax', 'Gerdau', 'Haribo'] 
orgBalance=[['Acer', 481242.74], ['Beko', 966071.86], ['Cemex', 187242.16], ['Datsun', 748502.91], ['Equifax', 146517.59], ['Gerdau', 898579.89], ['Haribo', 265333.85]] 
and the url=https://www.cs.purdue.edu/homes/jind/exchangerate.html 

Мне просто интересно, может ли кто-нибудь пройти меня через это, я получаю первые несколько частей, но как только я доберусь до третьего комментария, я потерялся. Я не уверен, как решить выяснить, какие компании покупают или продают

+3

Добро пожаловать в StackOverflow. Прочтите и следуйте инструкциям по отправке в справочной документации. [по теме] (http://stackoverflow.com/help/on-topic). SO не является учебной службой, хотя вы можете найти помощь на других сайтах. – Prune

+1

Вопрос здесь не ясен. – eljefedelrodeodeljefe

+0

Я знаю, что этот сайт не связан с учебными пособиями, поэтому я думаю, что я должен задать вопрос, для третьего комментария в коде, который он говорит, проверить, какая компания является предприятием по ведению бизнеса, и так как бы я прошел текст транзакции и выяснил и отсортировал, какие компании покупать и продавать? –

ответ

0
bank = dict(orgBalance) 
for line in data: 
    company,action,currency,ammount = line.split() 
    do_something(company,action,currency,ammount,bank) 

, то вам нужно будет написать функцию do_something, что фактически преобразует валюту к доллару США, а затем либо добавляет или вычитает из компаний банковского счета

def find_currency_rate(currency): 
    # locate the curency name in the text body and find the last <td></td> value in that row... 
    return float(last_td_cell_of_row) 

def convert_to_usd(currency,amount): 
    currency_rate = find_currency_rate(currency) 
    return amount*currency_rate 

def do_something(company_name,action,currency_code,amount,bank): 
    amount_in_usd = convert_to_usd(currency_code,amount) 
    if action == "BUY": 
     bank[company_name] = bank[company_name] - amount_in_usd 
    else: # else we sell and add the funds to our bank 
     bank[company_name] = bank[company_name] + amount_in_usd 
+0

я в основном возникают проблемы с получением и сортировкой информации. так что, я не знаю, как получить коэффициент конверсии, например, как получить эти данные из списка. –

+0

Я подозреваю, что это часть урока, который вы должны изучать ... однако, если вы хотите получить решение I может, конечно, добавить один –

+0

heres my problem, im маркетинговый майор, застрявший в классе программирования верхнего уровня, я думаю, что python замечательный, и я понимаю, как писать простые коды и написал много моего кода до этого момента. У меня просто много проблем с сортировкой данных, я понимаю, как найти, открыть и прочитать документ, и я знаю, как получить его в строку, и я мог бы разбить строку на основе покупки и продажи, но я не знаю, как разделить ее так, чтобы выводом будет имя компании, которое будет продано так и так, что впоследствии будет использоваться. Я не знаю, как это сделать, так что вся функция работает –

Смежные вопросы