在 Python 文件中,编写一个程序,在包含数据键的路由上执行 GET 请求,该值是一个字符串,其中包含以下格式的项:key=STRING,age=INTEGER。这里需要计算存在多少个年龄等于或大于 50 的项目,并打印这个最终值。
输入示例 {“data”:“key=IAfpK,age=58,key=WNVdi,age=64,key=jp9zt,age=47”}
示例输出 2
您尝试过使用该split功能吗?您可以用“,”分割初始字符串,然后循环遍历结果数组的每个项目。在循环中,您再次用“=”进行分割,这将为您提供一个新数组(我们称之为item_parts)。当item_parts[0]等于"age"你检查是否item_parts[1] >= 50。
total = 0
initial_value = "key=IAfpK, age=58, key=WNVdi, age=64, key=jp9zt, age=47"
for item in initial_value.split(","):
item_parts = item.strip().split("=") # strip removes any space
if item_parts[0] == "age" and int(item_parts[1]) >= 50:
total = total + 1
print(total)
Run Code Online (Sandbox Code Playgroud)
小智 5
您可能知道数据格式以json给出。所以首先我们想将数据解析成一个普通的Python字典
import json
output = YOUR_GET_STATEMENT
output_dict = json.loads(output)
Run Code Online (Sandbox Code Playgroud)
现在你有一个普通的Python字典,其中给定的字符串(“key=IAfpK,age=58,key=WNVdi,age=64,key=jp9zt,age=47”)作为键为“data”的值。您现在可以使用简单的字符串操作来过滤数据。
# count the occurences of age > 50
count = 0
values = output_dict['data'].replace(' ','').split(',')
for value in values:
if not 'age' in value:
continue
age = int(value.split('=')[1])
if age > 50:
count += 1
print(count)
Run Code Online (Sandbox Code Playgroud)