Есть ли способ сделать этот код более компактным? - PullRequest
0 голосов
/ 05 апреля 2019

Я занимаюсь разработкой API на python для сбора информации, чтобы впоследствии использовать ее в обучающей машине.Я уже сделал «черновой» код, но есть ли эффективный способ сделать этот код настолько компактным, насколько это возможно?

import requests

api_dir = 'https://fortnite-public-api.theapinetwork.com/prod09/users/id?username='

tuid = input('To see stats enter an user :')

dir1 = api_dir + tuid

data_id = requests.get(dir1).json()

data_arreg = data_id['uid']

api2_dir = 'https://fortnite-public-api.theapinetwork.com/prod09/users/public/br_stats_v2?user_id='

dir2 = api2_dir + data_arreg

data_stats = requests.get(dir2).json()

statskills = data_stats['overallData']['defaultModes']['kills']

statsmatch = data_stats['overallData']['defaultModes']['matchesplayed']

print('Number of total kills is {}.'.format(statskills))

print('Has a total of {} matches played.'.format(statsmatch))

Я разрабатываю этот код как способ изучения API ииспользовать информацию в них.(именно поэтому я использовал API-интерфейс fortnite, так как он похож на личный проект, который я хочу разработать позже)

1 Ответ

0 голосов
/ 05 апреля 2019

Похоже, вы на самом деле не повторяетесь. Вы можете использовать форматирование строки, чтобы сократить код, вынимая переменные и вставляя их напрямую:

import requests

tuid = input('To see stats enter an user :')

data_id = requests.get('https://fortnite-public-api.theapinetwork.com/prod09/users/id?username={}'.format(tuid)).json()

data_stats = requests.get('https://fortnite-public-api.theapinetwork.com/prod09/users/public/br_stats_v2?user_id={}'.format(data_id['uid'])).json()

print('Number of total kills is {}.\nHas a total of {} matches played.'.format(data_stats['overallData']['defaultModes']['kills'], data_stats['overallData']['defaultModes']['matchesplayed']))

Это делает каждую строку немного длинной ...

...