组成新数python_Python入门的30个常用实现

本篇主要分享了包含文件处理、数据清洗等的基础操作以及常见算法的多种实现等。可以作为入门参考。

Python 3

1、冒泡排序

lis = [56,12,1,8,354,10,100,34,43,562,4,78,61]

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

sortport()

2、计算x的n次方

def power(x,n):

s = 1

while n > 0:

n=n-1

s=s*x

return s

power(2,8)

3、计算 a*a + b*b + c*c + ...

def calc(*numbers):

sum = 0

for n in numbers:

sum = sum + n*n

return sum

calc(1,2,3)

4、计算阶乘 n!的三种实现

def fac():

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

factorial = 1

#检查数字(异常处理)

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)

5、列出当前目录下的所有文件和目录名称(处理文件)

import os

[d for d in os.listdir('.')]

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

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

[s.lower() for s in L]

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

def print_dir():

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

if(filepath == ""):

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

else:

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

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

print_dir()

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

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"

show_dir(filepath)

9、输出某路径及其子目录下所有以.html为后缀的文件(文件查找)

def print_dir(filepath):

for i in os.listdir(filepath):

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

if(os.path.isdir(path)):

return path

if(path.endwith(".html")):

return path

filepath = "C:\Program Files"

print_dir(filepath)

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

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

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

print(dict2)

11、乘法表

for i in range(1,10):

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

#print('{}×{}={}\t'.format(j,i,i*j),end='')

print('%d×%d =%d '%(i,j,i*j),end='')

print()

12、替换列表中所有的3为3a(文字替换)

num = ["harden","lampard",3,34,45,56,67,78,89,90,3,3,3,3,21424,42]

#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为3a

print(num)

13、打印每个名字(组合输出)

L = ["James","Tom","Meng"]

for i in range(len(L)):

print("Hello,%s"%L[i])

14、合并去重(列表操作)

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

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

list3 = list1 + list2

print(list3) #不去重只进行两个列表的组合

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

print(list(set(list3)))

15、随机生成验证码的两种方式

import random,string

#第一种

list1 = []

for i in range(65,91):

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

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)

#第二种

str1 = "0123456789"

str2 = string.ascii_letters #string.ascii_letters包含所有字母的字符串

str3 = str1 + str2

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

ma1 = ''.join(ma1)

print(ma1)

16、计算平方根

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

num_sqrt = num ** 0.5

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

17、判断字符串是否只由数字组成(清洗字符)

def is_number(s):

try:

float(s)

return True

except ValueError:

pass

try:

import unicodedata

unicodedata.numeric(s)

return True

except(TypeError,ValueError):

pass

return False

print(is_number('123'))

print(is_number('123a'))

18、判断奇偶数

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

if(num % 2 == 0):

print("{0} 是偶数".format(num))

else:

print("{0} 是奇数".format(num))

while True:

try:

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

except ValueError:

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

continue

if(num % 2 == 0):

print('偶数')

else:

print('奇数')

break

19、判断闰年

import calendar

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

check_year = calendar.isleap(year)

if(check_year == True):

print("%d是闰年" % year)

else:

print("%d是平年" % year)

20、获取最大值(两种实现)

#第一种

N = int(input('输入需要对比大小数字的个数:'))

print("请输入需要对比的数字:")

num = []

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

temp = int(input('输入第 %d 个数字:' % i))

num.append(temp)

print('您输入的数字为:',num)

print('最大值为:',max(num))

#第二种

N = int(input('输入需要对比大小数字的个数:\n'))

num = [int(input('请输入第 %d 个对比数字:\n' % i)) for i in range(1,N+1)]

print('您输入的数字为:',num)

print('最大值为:',max(num))

21、斐波那契数列

nterms = int(input("请输入一个正整数"))

n1=0

n2=1

count=0

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

22、十进制转二进制、八进制、十六进制

dec = int(input("输入数字:"))

print("十进制数为:",dec)

print("转换为二进制为:",bin(dec))

print("转换为八进制为:",oct(dec))

print("转换为十六进制为:",hex(dec))

23、最大公约数、最小公倍数

#最大公约数

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))

#最小公倍数

def lcm(x,y):

#获取最大的数

if(x > y):

biger = x

else:

biger = y

while(True):

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

lcm = biger

break

biger += 1

return lcm

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

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

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

24、简易计算器

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("输入你的选择(1/2/3/4):")

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("非法输入!")

25、生成日历(调用Calendar模块)

import calendar

#输入指定年月

yy = int(input("输入年份:"))

mm = int(input("输入月份:"))

#显示日历

print(calendar.month(yy,mm))

26、文件IO(输入输出流)

#写文件

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

out_file.write("该文本写入文件中")

#读文件

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

text = in_file.read()

print(text)

27、字符串判断

#测试实例一

print("测试实例")

str = "runoob. com"

print(str.isalnum()) #判断所有字符都是数字或者字母

print(str.isalpha()) #判断所有字符都是字母

print(str.isdigit()) #判断所有字符都是数字

print(str.islower()) #判断所有字符都是小写

print(str.isupper()) #判断所有字符都是大写

print(str .istitle()) #判断所有单词都是首字母大写,像标题

print(str . isspace())#判断所有字符都是空白字符、\t、 \n, \r

print("-----------------------")

#测试实例二

print("测试实例二")

str = "Bake corN"

print(str. isalnum())

print(str. isalpha())

print(str .isdigit())

print(str. islower())

print(str. isupper())

print(str . istitle())

print(str. isspace())

28、字符串大小写转换

str = "https://www.baidu.com/"

print(str.upper()) #把所有字符中的小写字母转换成大写字母

print(str.lower()) #把所有字符中的大写字母转换成小写字母

print(str.capitalize()) #把第一个字母转化为大写字母,其余小写

print(str.title()) #把每个单词的第一个字母转化为大写,其余小写

29、计算每个月天数

import calendar

monthRange = calendar.monthrange(2016,9)

print(monthRange)

30、获取昨日日期(datetime模块)

import datetime

def getYesterday():

today = datetime.date.today()

oneday = datetime.timedelta(days=1)

yesterday = today-oneday

return yesterday

print(getYesterday())

有帮助的话点个赞再走吧~

本文案例大部分来源于日常练手,有部分源自网络资源。我还会不定期更新相关技术知识,对于python web、爬虫、模式识别等有同样兴趣的朋友可以持续关注一下~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值