任务:Python3.3:如何通过userinpu从类调用实例

2024-10-01 07:16:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我的预期销售价值(esv)代码将只读取最近输入的股票,也就是说,如果我输入通用汽车作为第一只股票,通用电气作为第二只股票,它只读取通用电气,因为它覆盖了通用汽车的数据。我不确定如何使esv计算每个输入的股票,因为它目前只计算输入的第一只股票。我的想法是,它应该在输入每个股票之后发生,并存储在一个新的字典中,其中包含股票符号作为键,esv作为值。但是,任务说明这个过程应该在GetSale函数中发生……这就很困难了。这样编码对我来说没什么意义。不管怎样,这是我的GetSale代码。在

def getsale():
global names
global prices
global exposure
for key in names:
    symbol = key
    for key in exposure:
        risk_number = exposure[key][0]
        shares_held = exposure[key][1]
    for key in prices:
        purchase_price = prices[symbol][0]
        current_price = prices[symbol][1]
    esv = [-((current_price - purchase_price) - risk_number * current_price) * shares_held]
print("The estimated sale value of ", symbol, "is ", sorted(esv(),reverse = True))

编辑: 好吧,我从另一个渠道得到了答案。我需要创建一个新的空列表。此外,不需要有多个for循环,因为它们在一个循环中工作得很好。然后,我只需要将esv和stock符号附加到我的列表中,并对其进行排序/打印(我将其颠倒,以便打印出最高的数字)。我会把我自己的问题的答案贴出来,但我必须等上几个小时。因此,这里是修改后的代码。在

^{pr2}$

但是,有谁能告诉我只打印列表中第一个的方法吗?我想这个代码可以工作:

    print(sorted(sellGuide[0], reverse = True))

但我得到了以下错误:

  File "D:\Python\Python Modules\stock_portfolio.py", line 43, in getsale
print(sorted(sellGuide[0], reverse = True))
TypeError: unorderable types: float() < str()

Tags: key代码inforcurrentsymbolglobalprice
1条回答
网友
1楼 · 发布于 2024-10-01 07:16:17

你的代码应该是

print(sorted(sellGuide, reverse = True)[0])

在您的示例中,您将获得sellGuide中的第一个元素并对其进行排序。所以你在int/float上运行sort,这行不通。在

相关问题 更多 >