记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化
python基础8-灵活运用顺序、选择、循环结构
- 写一些小练习题目
- 1、给一个半径,求圆的面积和周长,圆周率3.14
- 2、输入两个数,比较大小后,从小到大升序打印
- 3、一次输入若干个整数,打印最大值,如果输入为空,则退出程序
- 4、给定一个不超过5位的正整数,判断该数是几位数,依次从万位打印到个位的数字
- 5、输入n,求算数平均数
- 6、打印一个边长为n的空心正方形
- 7、学生成绩分区间
- 8、计算1到5的阶乘之和
- 9、 三元表达式
- 10、reange迭代对象
- 实践是检验这里的唯一标准
写一些小练习题目
1、给一个半径,求圆的面积和周长,圆周率3.14
import mathdef circle_properties(radius):# 圆周率pi = 3.14# 计算面积:Πr^2area = pi * radius ** 2# 计算周长:2Πrcircumference = 2 * pi * radiusreturn area, circumference# 假设半径为5
radius = 5
#序列解包赋值方式
area, circumference = circle_properties(radius)
print(f"半径为{radius}的圆的面积是{area},周长是{circumference}。")
2、输入两个数,比较大小后,从小到大升序打印
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))# 比较大小并升序打印
if num1 <= num2:print(f"{num1} {num2}")
else:print(f"{num2} {num1}")
3、一次输入若干个整数,打印最大值,如果输入为空,则退出程序
while True:# 提示用户输入若干个整数,使用空格分隔input_str = input("请输入若干个整数,用空格分隔:")# 检查输入是否为空if not input_str.strip():print("输入为空,程序退出。")break# 将输入的字符串分割成列表,并转换为整数列表#map函数两个参数(1函数,2数据),返回的是map对象,也即是迭代器#迭代器对象是惰性对象,需要是访问才能获取到具体数据,所以用了list进行了转换numbers = list(map(int, input_str.split()))# 检查列表是否为空if not numbers:print("没有输入任何整数,程序退出。")break# 打印最大值print("最大值是:", max(numbers))
4、给定一个不超过5位的正整数,判断该数是几位数,依次从万位打印到个位的数字
while True:def print_digits(number):# 将数字转换为字符串,并确保至少有5位,不足的前面补0num_str = str(number).zfill(5)#zfill函数是用于当数字位不足5位数时,左侧自动补充"0",返回的类型是str# 定义位数的名称positions = ["万位", "千位", "百位", "十位", "个位"]# 从万位到个位打印每一位数字#enumerate用于获取列表的索引for i, position in enumerate(positions):# 检查当前位是否为0(除了个位)#en(num_str) - 1就是获取个位数,因为列表是从0索引开始的if i < len(num_str) - 1 and num_str[i] == '0':continue # 如果当前位是0,则跳过不打印print(f"{position}:{num_str[i]}")# 从用户那里获取一个不超过5位的正整数number = int(input("请输入一个不超过5位的正整数:"))if 1 <= number <= 99999:print_digits(number)breakelse:print("输入的数字超出范围,请输入一个1到99999之间的正整数。")
5、输入n,求算数平均数
sum = 0
count = 0while True:num = input("请输入一个数(输入'q'结束):")if num == 'q':breaksum += float(num)count += 1average = sum / countprint("当前的算数平均数是:", average)
6、打印一个边长为n的空心正方形
n = int(input("请输入正方形的边长n:"))# 打印上边框
print('*' * n)# 打印中间的空行
for i in range(n - 2):print('*' + ' ' * (n - 2) + '*')# 当n大于1时,打印下边框
if n > 1:print('*' * n)
7、学生成绩分区间
# 获取用户输入的分数
score = int(input("请输入学生的分数:"))# 判断学生成绩,成绩等级a到3,90分以上a,80-90分为b,70-80为c,60-70为d,小于60为e
if score >= 90:grade = 'A'
elif score >= 80:grade = 'B'
elif score >= 70:grade = 'C'
elif score >= 60:grade = 'D'
else:grade = 'E'
# 输出成绩等级
print("学生的成绩等级是:", grade)
8、计算1到5的阶乘之和
def factorial(n):"""计算n的阶乘"""if n == 1:return 1else:return n * factorial(n - 1)
sum_of_factorials = sum(factorial(i) for i in range(1, 6))
# 输出结果
print("1到5的阶乘之和是:", sum_of_factorials)
9、 三元表达式
#三元表达式
result = "a 是正数" if a > 0 else "a 是非正数"
#if语句
if a > 0:print("a 是正数")
else:print("a 是非正数")
# 输出结果
print(result)
10、reange迭代对象
print(sum(range(1,100,2)))
虽然很基础,但是呢,咱先从基础做起,后面在慢慢进阶即可,最近一直在学jmeter,安全测试方面倒是有所松动,明天写一篇安全笔记吧