python习题#讲解8

python习题#讲解8,第1张

·day08

1.按照如下要求完成代码:
        1)使用随机数产生 10 个 1-50 之间的数字
        2)将这些数字保存到文件 data.json 中
        3)读取data.json 中的内容,按照数字大小进行降序排序
        4)将最大的五个数字存入文件data1.json中

import random
list1=list()#1.创建空列表2.for循环10次3.随机数append添加到空列表
for i in range(10):
    list1.append(random.randint(1,50))
print(list1)#可省略用于查看随机数
import json#2.w创建data.json并将1.得到的数据列表保存
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(list1, f, ensure_ascii=False)
with open('data.json','r', encoding='utf-8') as a:
    b = json.load(a)#3.r读取数据用.sort方法降序排序
    b.sort(reverse=True)
    print(f'{b}\n{b[:5]}')#打印倒序和显示5个值结果
#4.用切片b[:5]将切片结果当成list用w创建并保存到data1.json
with open('data1.json', 'w', encoding='utf-8') as c:
    json.dump(b[:5], c, ensure_ascii=False)
#去data1.json文件夹看数值是否正确

2.两种方式实现以下需求(1. 异常捕获   2. 字符串判断 )
        1)获取用户输入的数字
        2)判断获取的数字是否整数
        3)如果不是整数, 提示输入错误
        4)如果是整数, 则进一步判断是奇数还是偶数 
        5)最终提示: 程序运行结束
        字符串中 有一个方法, 可以判断 字符串是不是 都是数字组成的
        字符串.isdigit()  如果是返回 True, 否则返回 False

try:
    a = int(input('请输入一个数字'))
except ValueError as v:
    print('输入错误')
except Exception as e:
    print('未知错误1')
else:
    print(f'{a}是整数')
    if a % 2 == 0:
        print(f'{a}是偶数')
    else:
        print(f'{a}是奇数')
finally:
    print('程序运行结束')
# 字符串.isdigit()  如果是返回 True, 否则返回 False
#这个.isdigit(楼主太懒)待续#转自阿月(张新月)
# 字符串.isdigit()这个函数就是判断数值是否为字符串
# 1. 获取用户输入的数字
num = input('请输入数字:')  # str
# 2. 判断获取的数字是否整数
if num.isdigit():
    # 4. 如果是整数, 则进一步判断是奇数还是偶数
    if int(num) % 2 == 0:
        print('偶数')
    else:
        print('奇数')
# 3. 如果不是整数, 提示输入错误
else:
    print('输入错误')
# 5. 最终提示: 程序运行结束
print('程序运行结束')

3.针对某网站的登录功能进行测试, 
现在需要将 测试数据定义为 json 文件, 
以便于在自动化测试中使用. 每一组测试数据应该包含如下信息:
测试描述(标题) desc 用户名username 密码password 验证码code 预期结果expect
正确的用户名和密码 admin 123456 8888 登录成功
不存在的用户名 root 123456 8888 登录失败
错误的密码 admin 123123 8888 登录失败
错误的验证码 admin 123456 9999 登录失败
定义函数 build_data(), 
读取 json 文件, 获取 用户名,密码,验证码,和预期结果,
作为一组数据,组成元组,存入列表 , 
即: [('admin', "123456", '8888', '登录成功'), (), (), ()] , 
最后将 列表 进行返回.# 格式为自动化测试中参数化需要的数据格式

#1.json 文件定义
import json
my_list =[ {'desc': '正确的用户名和密码', 'username':'admin','password':'123456','code':'8888','expect':'登录成功'},
           {'desc': '不存在的用户名', 'username':'root','password':'123456','code':'8888','expect':'登录失败'},
           {'desc': '错误的密码', 'username':'admin','password':'123123','code':'8888','expect':'登录失败'} ,
           {'desc': '错误的验证码', 'username':'admin','password':'123456','code':'9999','expect':'登录失败'} ]
with open('test1.json', 'w', encoding='utf-8') as f:
    json.dump(my_list, f, ensure_ascii=False)

#2.json 文件的读取......
def bulid_data():#1.先建一个bulid_data函数
    list1 = []#2.建一个空列表用于后续存储数据
    with open("test1.json", encoding="utf-8") as a:
        b = json.load(a)#3.读取test1.json文件
        for i in b:#4.for循环遍历列表b得到每个值字典i
            list1.append((i.get("username"), i.get("password"), i.get("code"), i.get("expect")))#5.重点
#5.1将for循环每次i字典.get的值#5.2(小括号)元组append添加到list1中
            #print(type(list1[0]))#可省略用于查看()是否为元组
    return list1#6.bulid_data函数return 返回值list1
print(bulid_data())#7.调用bulid_data函数 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/794282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存