python 案例分析题目_Python入门级案例练习题分享!

Time will tell.

1、计算 a * a + b * b + c * c + …

代码:

def calc(*numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

2、计算 x 的n次方的方法

代码:

def power(x, n):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

3、把一个 list 中的所有字符串变成小写

代码:

L = ['Hello', 'World', 'IBM', 'Apple']

[s.lower() for s in L]

4、冒泡排序

代码:

lis = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58]

def sortport():

for i in range(len(lis)-1):

for j in range(len(lis)-1-i):

if lis[j] > lis[j+1]:

lis[j],lis[j+1] = lis[j+1],lis[j]

return lis

5、计算阶乘 n!

代码:

def fac():

num = int(input("请输入一个数字: "))

factorial = 1

# 查看数字是负数,0 或 正数

if num < 0:

print("负数没有阶乘!")

elif num == 0:

print("0 的阶乘为 1")

else:

for i in range(1, num + 1):

factorial = factorial * i

print("%d 的阶乘为 %d" % (num, factorial))

def factorial(n):

result = n

for i in range(1, n):

result *= i

return result

def fact(n):

if n==1:

return 1

return n * fact(n - 1)

6、输出某路径下的所有文件和文件夹的路径

代码:

def print_dir():

filepath = input("请输入一个路径:")

if filepath == "":

print("请输入正确的路径")

else:

for i in os.listdir(filepath): # 获取目录中的文件及子目录列表

print(os.path.join(filepath,i)) # 把路径组合起来

print(print_dir())

7、输出某个路径及其子目录下的所有文件路径

代码:

def show_dir(filepath):

for i in os.listdir(filepath):

path = (os.path.join(filepath, i))

print(path)

if os.path.isdir(path): #isdir()判断是否是目录

show_dir(path) #如果是目录,使用递归方法

filepath = "C:\Program Files\Internet Explorer"

show_dir(filepath)

8、把原字典的键值对颠倒,并生产新的字典

代码:

dict1 = {'A':'a', 'B':'b', 'C':'c'}

dict2 = {y:x for x,y in dict1.items()}

9、将列表中所有的 3 替换为 3a

代码:

num = ["harden","lampard",3,34,45,56,76,87,78,45,3,3,3,87686,98,76]

# print(num.count(3))

# print(num.index(3))

for i in range(num.count(3)): #获取3出现的次数

ele_index = num.index(3) #获取首次3出现的坐标

num[ele_index]="3a" #修改3为3

print(num)

10、将两个数组合并,并去重

代码:

list1 = [2, 3, 8, 4, 9, 5, 6]

list2 = [5, 6, 10, 17, 11, 2]

list3 = list1 + list2

print(set(list3)) # 去重,类型为set需要转换成list

print(list(set(list3)))

11、随机生成验证码

代码1:

import random

list1=[]

for i in range(65,91):

list1.append(chr(i)) #通过for循环遍历asii追加到空列表中

for j in range(97,123):

list1.append(chr(j))

for k in range(48,58):

list1.append(chr(k))

ma = random.sample(list1,6)

print(ma) #获取到的为列表

ma = ''.join(ma) #将列表转化为字符串

print(ma)

代码2:

import random,string

str1 = "0123456789"

str2 = string.ascii_letters # string.ascii_letters 包含所有字母(大写或小写)的字符串

str3 = str1+str2

ma1 = random.sample(str3,6) #多个字符中选取特定数量的字符

ma1 = ''.join(ma1) #使用join拼接转换为字符串

print(ma1) #通过引入string模块和random模块使用现有的方法

12、计算平方根

代码:

num = float(input('请输入一个数字:'))

num_sqrt = num ** 0.5

print(' %0.2f 的平方根为 %0.2f'%(num ,num_sqrt))

13、判断奇偶数

代码:

while True:

try:

num = int(input('输入一个整数:')) # 判断输入是否为整数

except ValueError: # 不是纯数字重新输入

print("输入的不是整数!")

continue

if num % 2 == 0:

print('偶数')

else:

print('奇数')

break

14、判断是否是闰年

代码:

year = int(input("请输入一个年份:"))

if (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:

print("{0}是闰年".format(year))

else:

print("{0}不是闰年".format(year))

15、斐波那契数列

斐波那契数列指,每一项都等于前两项之和。如:0, 1, 1, 2, 3, 5, 8, 13。

代码:

if nterms <= 0:

print("请输入一个正整数。")

elif nterms == 1:

print("斐波那契数列:")

print(n1)

else:

print("斐波那契数列:")

print(n1, ",", n2, end=" , ")

while count < nterms:

nth = n1 + n2

print(n1+n2, end=" , ")

# 更新值

n1 = n2

n2 = nth

count += 1

16、最大公约数

代码:

def hcf(x, y):

"""该函数返回两个数的最大公约数"""

# 获取最小值

if x > y:

smaller = y

else:

smaller = x

for i in range(1, smaller + 1):

if ((x % i == 0) and (y % i == 0)):

hcf = i

return hcf

# 用户输入两个数字

num1 = int(input("输入第一个数字: "))

num2 = int(input("输入第二个数字: "))

print(num1, "和", num2, "的最大公约数为", hcf(num1, num2))

17、最小公倍数

代码:

# 定义函数

def lcm(x, y):

# 获取最大的数

if x > y:

greater = x

else:

greater = y

while(True):

if((greater % x == 0) and (greater % y == 0)):

lcm = greater

break

greater += 1

return lcm

# 获取用户输入

num1 = int(input("输入第一个数字: "))

num2 = int(input("输入第二个数字: "))

print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))

18、编写一个简单的计算器

代码:

# 定义函数

def add(x, y):

"""相加"""

return x + y

def subtract(x, y):

"""相减"""

return x - y

def multiply(x, y):

"""相乘"""

return x * y

def divide(x, y):

"""相除"""

return x / y

# 用户输入

print("选择运算:")

print("1、相加")

print("2、相减")

print("3、相乘")

print("4、相除")

choice = input("输入你的选择:")

num1 = int(input("输入第一个数: "))

num2 = int(input("输入第二个数: "))

if choice == '1':

print(num1, "+", num2, "=", add(num1, num2))

elif choice == '2':

print(num1, "-", num2, "=", subtract(num1, num2))

elif choice == '3':

print(num1, "*", num2, "=", multiply(num1, num2))

elif choice == '4':

if num2 != 0:

print(num1, "/", num2, "=", divide(num1, num2))

else:

print("分母不能为0")

else:

print("非法输入")

19、文件IO

代码:

# 写文件

with open("test.txt", "wt") as out_file:

out_file.write("该文本会写入到文件中\n看到我了吧!")

# Read a file

with open("test.txt", "rt") as in_file:

text = in_file.read()

print(text)

对Python自动化软件测试感兴趣可以加入我们扣裙一起学习175317069。有学习资源,行业技术人分析讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值