python - 为什么我收到类型错误:列表索引必须是整数或切片,而不是 str,同时调用函数并传递字典
问题描述
我在数据科学中找到了立足点,我遇到了一个问题,我正在创建一个函数,为假设的移动订阅公司执行一些计算
我创建了一个字典,如下所示:
mobile_sub = {'minutes_used': 200,
'minutes_included': 200,
'texts_used': 200,
'texts_included': 200,
'monthly_plan': 10,
'cost_per_minute': 0.03,
'cost_per_sms': 0.001,
'vat_tax': 0.14}
然后是计算函数:
def evaluateCharges(input_data=[]):
minutes_used = input_data['minutes_used']
texts_used = input_data['texts_used']
# Performing different actions based on the conditions indicated in the question.
if minutes_used > 200:
aditional_minutes = minutes_used-minutes_included
basecharge = monthly_plan + (aditional_minutes * 0.03)
if texts_used > 200 :
aditional_texts = texts_used - texts_included
basecharge = monthly_plan + (aditional_texts * 0.001)
VAT_TAX = basecharge * vat_tax
basecharge += VAT_TAX
# We can choose to format our basecharg 2dp
finalCharges = round(basecharge, 2)
# We then create a string with
output_string = "Dear Customer, below are the charges on your account : \n Minutes Used: ' + str(minutes_used) + '\n Texts Used: ' + str(texts_used) + '\n Additional Minutes: ' + str(aditional_minutes) + '\n Additional Texts: ' + str(aditional_texts) + '\n Basecharge: $' + str(basecharge) + '\n Tax Applied: 14% \n Total Charges: $' + str(taxApplied)"
# the returning our output string
return print(output_string)
然后调用我们的函数并传递我们的字典
evaluateCharges(input_data=[ 250, 185])
这是我得到错误的地方:TypeError:列表索引必须是整数或切片,而不是str,我该如何避免它?
TypeError Traceback (most recent call last)
<ipython-input-25-a618d565246b> in <module>()
36 # Then calling our function and passing our dictionary
37
---> 38 evaluateCharges(input_data=[ 250, 185])
<ipython-input-25-a618d565246b> in evaluateCharges(input_data)
7 based on the values received.
8 '''
----> 9 minutes_used = input_data['minutes_used']
10 texts_used = input_data['texts_used']
11
TypeError: list indices must be integers or slices, not str
解决方案
输入数据应该是一张地图,但您传入的是 [250, 185]。然后,当你用 索引它时minutes_used = input_data['minutes_used']
,它告诉你不能用字符串索引它。
推荐阅读
- django - 如何使用 Django 和 Whitenoise 为 favicon.ico 提供服务器
- excel - Excel Sum if, 单个单元格上的条件 range1
- apache-kafka - 我们如何反序列化 Struct 数据中的值/键?
- c# - 带有 if else 条件的 Linq GroupBy 对象
- sql - SUM 多个表 GROUP BY 列
- php - 可以在 PHP 中创建 zip 存档,但无法正确下载2
- python - Python中的静态类型检查:自我使用什么?
- xml - 如何在 ATTLIST 枚举中使用方括号?
- sql-server-ce - 更改现有 SQL Server CE 数据库的密码异常
- angular - 如何将表单输入动态添加到反应表单角度