python习题#讲解8

这篇博客主要介绍了三个Python编程练习:1) 使用随机数生成并存储10个1-50的数字,然后按降序排序并保存前五个到新文件;2) 实现异常捕获和字符串判断,确保用户输入的是整数并判断其奇偶性;3) 设计用于网站登录功能测试的数据结构,并编写函数读取JSON文件生成测试用例数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

·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函数 

这个错误是由于无法连接到本地主机的10248端口导致的。这个端口通常是kubelet进程监听的端口,用于健康检查。出现这个错误可能是由于kubelet进程没有正确启动或者配置错误导致的。 解决这个问题的方法是检查kubelet进程的状态和配置。你可以按照以下步骤进行操作: 1. 检查kubelet进程是否正在运行。你可以使用以下命令检查kubelet进程的状态: ```shell systemctl status kubelet ``` 如果kubelet进程没有运行,你可以使用以下命令启动它: ```shell systemctl start kubelet ``` 2. 检查kubelet的配置文件。你可以使用以下命令查看kubelet的配置文件路径: ```shell kubelet --kubeconfig /etc/kubernetes/kubelet.conf --config /var/lib/kubelet/config.yaml --bootstrap-kubeconfig /etc/kubernetes/bootstrap-kubelet.conf config view ``` 确保配置文件中的端口号和地址正确,并且与你的环境相匹配。 3. 检查网络连接。你可以使用以下命令检查是否可以连接到localhost10248端口: ```shell curl -sSL http://localhost:10248/healthz ``` 如果无法连接,请确保端口没有被防火墙或其他网络配置阻止。 4. 检查docker的配置。有时候,kubelet进程依赖于docker进程。你可以按照以下步骤检查docker的配置: - 创建/etc/docker目录: ```shell sudo mkdir /etc/docker ``` - 编辑/etc/docker/daemon.json文件,并添加以下内容: ```json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "registry-mirrors": ["https://tdhp06eh.mirror.aliyuncs.com"] } ``` - 重启docker进程: ```shell systemctl restart docker ``` 请注意,以上步骤是一种常见的解决方法,但具体解决方法可能因环境而异。如果以上步骤无法解决问题,请提供更多的错误信息和环境配置,以便我们能够更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值