gpt4 book ai didi

python - 为我的计算值制作字典

转载 作者:行者123 更新时间:2023-11-30 21:51:50 29 4
gpt4 key购买 nike

我有一个 txt 文件,其中包含 2 个电话号码的列表以及两个电话号码之间的持续时间,如下所示:

3058 1234 2:28
1650 00777666555 2:03
3928 00423775651 4:54
2222 3333 5:20
3058 00876543210 1:49
3058 1234 1:15
1650 00876543210 2:10
2222 1234 2:32
3928 00172839456 1:38
1111 00969633330 3:01

我编写了一个函数来分割数量和时间并计算它们的价格:

def getSec(time):
#change minute to second
min, sec = time.split(':')
return int(min) * 60 + int(sec)

def calPrice():
f = open('calls.txt', 'r')
print(f.read() + '\n')

with open('calls.txt') as file:
lines = file.readlines()
for line in lines:
anotherLineVar = line.split(' ')
firstNumb = anotherLineVar[0]
# print(firstNumb)
secNumb = anotherLineVar[1]
#print(secNumb)
time = anotherLineVar[2]
#print(time)
if int(secNumb[0]) == 0:
second = getSec(time)
price = second * 1.50

calPrice()

所以现在最后一步是,如果任何调用包含任何以 00 开头的第二个号码,我将需要向主叫号码收取一些费用。我需要在列表中添加收费号码和价格。例如调用 1650 00777666555 2:033928 00423775651 4:54 的费用为 184.5441.0 因此字典将显示为:

{1650:148.5
3928:441.0}

我尝试做类似的事情

#outside the if statement
dict = {}
#inside the if statement
dict[secNumb] = price
print(dict)

但输出一团糟:

{'00777666555': 184.5}
{'00777666555': 184.5, '00423775651': 441.0}
{'00777666555': 184.5, '00423775651': 441.0, '00876543210': 163.5}
{'00777666555': 184.5, '00423775651': 441.0, '00876543210': 195.0}
{'00777666555': 184.5, '00423775651': 441.0, '00876543210': 195.0, '00172839456': 147.0}
{'00777666555': 184.5, '00423775651': 441.0, '00876543210': 195.0, '00172839456': 147.0, '00969633330': 271.5}

最佳答案

看起来您想用作 dict firstNumb 变量的键:

my_dict = {}
my_dict[int(firstNumb)] = price

关于python - 为我的计算值制作字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028879/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com