记录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 math
def circle_properties(radius):
# 圆周率
pi = 3.14
# 计算面积:Πr^2
area = pi * radius ** 2
# 计算周长:2Πr
circumference = 2 * pi * radius
return 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位,不足的前面补0
num_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)
break
else:
print("输入的数字超出范围,请输入一个1到99999之间的正整数。")
5、输入n,求算数平均数
sum = 0
count = 0
while True:
num = input("请输入一个数(输入'q'结束):")
if num == 'q':
break
sum += float(num)
count += 1
average = sum / count
print("当前的算数平均数是:", 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 1
else:
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,安全测试方面倒是有所松动,明天写一篇安全笔记吧