- 提取data.json中的數據律歼,將每條數據中的name、text啡专、love和comment信息保存到另外一個json文件中。
import json
list1 = []
with open('./data.json', 'r', encoding='utf-8') as f:
info = json.load(f)
for item in info['data']:
dict1 = {
'name':item['name'],
'text':item['text'],
'love':item['love'],
'comment':item['comment']
}
list1.append(dict1)
with open('./newdata.json', 'w', encoding='utf-8') as f:
json.dump(list1, f)
- 統(tǒng)計data.json中comment數量超過1000的個數制圈。
import json
count = 0
with open('./data.json', 'r', encoding='utf-8') as f:
info = json.load(f)
for item in info['data']:
if int(item['comment']) > 1000:
count += 1
print("統(tǒng)計data.json中comment數量超過1000的個數為:", count)
3.將data.json文件中所有點贊數(love)對應的值超出1000的用k來表示们童,例如1000修改為1k, 1345修改為1.3k。
import json
with open('./data.json', 'r', encoding='utf-8') as f:
info = json.load(f)
for item in info['data']:
if int(item['love']) > 1000:
item['love'] = str(int(item['love'])/1000)+'k'
with open('./data.json', 'w', encoding='utf-8') as f:
json.dump(info, f)
- 寫猜數字游戲鲸鹦,如果輸入有誤慧库,提示重新輸入,直達輸入正確為止馋嗜。比如:輸入數字的時候沒有按要求輸入齐板,提示重新輸入。
import random
num = random.randint(1, 10)
count = 0
def guss_num():
try:
n = int(input('請輸入數字:'))
global count
count += 1
if n == num:
print('恭喜你猜對了葛菇,共猜了%s次甘磨!'%(count))
return
elif n > num:
print('猜大了')
guss_num()
else:
print('猜小了')
guss_num()
except ValueError:
print('輸入錯誤,請重新輸入眯停!')
guss_num()
guss_num()
- 寫學生管理系統(tǒng)的添加學生功能(數據需要本地化)济舆,要求除了保存學生的基本信息以外還要保存學生的學號,但是學號需要自動生成莺债,生成原則:
添加第一個學生對應的學號是:py001
第二次添加的學生的學號是:py002
如果前面的學生因為各種原因被移除了滋觉,那后面添加學生的時候原則不變签夭,就是比如上次已經添加到py012,那么前面不管有沒有刪除情況,再次添加學生的學號是py013椎侠。
list1 = []
name = input('請輸入名字:')
age = input('請輸入年齡:')
try:
with open('./StudentInfo.json', 'r', encoding='utf8') as f:
info = json.load(f)
except:
with open('./StudentInfo.json', 'w', encoding='utf8') as f:
dict1 = {'school':'千峰', 'student_data':[]}
json.dump(dict1, f)
with open('./StudentInfo.json', 'r', encoding='utf8') as f:
info = json.load(f)
if not info['student_data']:
school_num = 'py001'
else:
for item in info['student_data']:
num = item['school_num'][2:]
list1.append(int(num))
num_max = max(list1) + 1
if num_max < 10:
school_num = 'py' + '00' + str(num_max)
elif num_max < 100:
school_num = 'py' + '0' + str(num)
else:
school_num = 'py' + str(num)
dict1 = {'name': name, 'age': age, 'school_num': school_num}
info['student_data'].append(dict1)
with open('./StudentInfo.json', 'w', encoding='utf8') as f:
json.dump(info, f)