尝试通过带循环的 Python 函数传递多个值
Trying to pass multiple values through a Python Function with loop
我编写了一个函数(或正在尝试)从名为 Crowd Tangle 的社交媒体服务获取统计数据,并打印出前五个帖子的统计数据。我想弄清楚如何使用循环在函数中传递值 0 到 4 以调用正确的 JSON 节点。我正在使用 Python 3.6 和 Spyder。除了将函数复制五次并写入 0,1,2,3,4 之外,有没有办法使用循环来执行此操作?任何建议或链接都会很棒。谢谢。
import requests
def get_crowdtangle_stuff():
url = 'https://api.crowdtangle.com/posts?token=mytoken'
json_data = requests.get(url).json()
#print(json_data)
Platform = json_data['result']['posts'][0]['platform']
Platform_string = str(Platform)
print('This stupid thing was on the ' + Platform_string + '.')
Title = json_data['result']['posts'][0]['message']
Title_string = str(Title)
print('This stupid thing was on the ' + Title_string + '.')
Date = json_data['result']['posts'][0]['date']
Date_string = str(Date)
print('This stupid thing was posted on ' + Date_string)
Like_count = json_data['result']['posts'][0]['statistics']['actual']
['likeCount']
Like_count_string = str(Like_count)
print('This stupid thing got ' + Like_count_string + ' likes.')
Shares = json_data['result']['posts'][0]['statistics']['actual']
['shareCount']
Shares_string = str(Shares)
print('This stupid thing got ' + Shares_string + ' shares.')
Comments = json_data['result']['posts'][0]['statistics']['actual']
['commentCount']
Comments_string = str(Comments)
print('This stupid thing got ' + Comments_string + ' comments.')
Wow_count = json_data['result']['posts'][0]['statistics']['actual']
['wowCount']
Wow_count_string = str(Wow_count)
print('This stupid thing got ' + Wow_count_string + ' wows.')
Total_engagement = Like_count + Shares + Comments + Wow_count
Total_engagement_string = str(Total_engagement)
print('This stupid things total engagement score is ' +
Total_engagement_string + '.')
Link = json_data['result']['posts'][0]['link']
Link_string = str(Link)
print('This stupid thing has a link of ' + Link_string + '.')
get_crowdtangle_stuff()
您可以在您的函数中添加一个参数 n_records
来表示您要打印的 JSON 条记录的数量。然后在你的函数中你可以创建一个循环:
for n in range(n_records):
...Rest of your code here where you can use n to retrieve the JSON record and print the outputs your want...
然后你可以在调用函数时输入一个数字代表你要打印多少条记录,即:
get_crowdtangle_stuff(5)
我编写了一个函数(或正在尝试)从名为 Crowd Tangle 的社交媒体服务获取统计数据,并打印出前五个帖子的统计数据。我想弄清楚如何使用循环在函数中传递值 0 到 4 以调用正确的 JSON 节点。我正在使用 Python 3.6 和 Spyder。除了将函数复制五次并写入 0,1,2,3,4 之外,有没有办法使用循环来执行此操作?任何建议或链接都会很棒。谢谢。
import requests
def get_crowdtangle_stuff():
url = 'https://api.crowdtangle.com/posts?token=mytoken'
json_data = requests.get(url).json()
#print(json_data)
Platform = json_data['result']['posts'][0]['platform']
Platform_string = str(Platform)
print('This stupid thing was on the ' + Platform_string + '.')
Title = json_data['result']['posts'][0]['message']
Title_string = str(Title)
print('This stupid thing was on the ' + Title_string + '.')
Date = json_data['result']['posts'][0]['date']
Date_string = str(Date)
print('This stupid thing was posted on ' + Date_string)
Like_count = json_data['result']['posts'][0]['statistics']['actual']
['likeCount']
Like_count_string = str(Like_count)
print('This stupid thing got ' + Like_count_string + ' likes.')
Shares = json_data['result']['posts'][0]['statistics']['actual']
['shareCount']
Shares_string = str(Shares)
print('This stupid thing got ' + Shares_string + ' shares.')
Comments = json_data['result']['posts'][0]['statistics']['actual']
['commentCount']
Comments_string = str(Comments)
print('This stupid thing got ' + Comments_string + ' comments.')
Wow_count = json_data['result']['posts'][0]['statistics']['actual']
['wowCount']
Wow_count_string = str(Wow_count)
print('This stupid thing got ' + Wow_count_string + ' wows.')
Total_engagement = Like_count + Shares + Comments + Wow_count
Total_engagement_string = str(Total_engagement)
print('This stupid things total engagement score is ' +
Total_engagement_string + '.')
Link = json_data['result']['posts'][0]['link']
Link_string = str(Link)
print('This stupid thing has a link of ' + Link_string + '.')
get_crowdtangle_stuff()
您可以在您的函数中添加一个参数 n_records
来表示您要打印的 JSON 条记录的数量。然后在你的函数中你可以创建一个循环:
for n in range(n_records):
...Rest of your code here where you can use n to retrieve the JSON record and print the outputs your want...
然后你可以在调用函数时输入一个数字代表你要打印多少条记录,即:
get_crowdtangle_stuff(5)