常用Python实现

32个常用 Python 实现

1、冒泡排序

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

if __name__ == ‘__main__‘:

sortport

print(lis)

2、计算x的n次方

def power(x, n):

s = 1

while n > 0:

return s

调用方法:

print(power(2,4))

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

def calc(*numbers):

sum=0

for n in numbers:

sum=sum+n*n

return sum

print(calc(2,4,5))

4、计算阶乘 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))

if __name__ == ‘__main__‘:

fac

#方法二

def fac:

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

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

if num<0:

print("抱歉,负数没有阶乘")

elif num == 0:

print("0的阶乘为1")

else:

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

def factorial(n):

result = n

for i in range(1,n):

result=result*i

return result

if __name__ == ‘__main__‘:

fac

#方法三

def fac:

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

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

if num<0:

print("抱歉,负数没有阶乘")

elif num == 0:

print("0的阶乘为1")

else:

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

def fact(n):

if n == 1:

return 1

return n * fact(n - 1)

if __name__ == ‘__main__‘:

fac

5、列出当前目录下的所有文件和目录名

import os

for d in os.listdir(‘.‘):

print(d)

另外列表推导式代码:

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

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

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

for s in L:

s=s.lower

print(s) #将list中每个字符串都变成小写,返回每个字符串

另外列表推导式代码:

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

print([s.lower for s in L])#整个list所有字符串都变成小写,返回一个list

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

def print_dir:

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

if filepath == "":

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

else:

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

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

print(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 FilesInternet Explorer"

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

print_dir(path)

if path.endswith(".html"):

print(path)

filepath = "E:PycharmProjects"

print_dir(filepath)

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

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

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

print(dict2)

#输出结果为{‘a‘: ‘A‘, ‘b‘: ‘B‘, ‘c‘: ‘C‘}

11、打印九九乘法表

for i in range(1,10):

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

print(‘%d x %d = %d ‘%(j,i,i*j),end=‘‘) #通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。

print

12、替换列表中所有的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为3a

print(num)

13、打印每个名字

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

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

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)

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模块使用现有的方法

16、随机数字小游戏

#随机数字小游戏

import random

i = 1

a = random.randint(0,100)

b = int( input(‘请输入0-100中的一个数字

然后查看是否与电脑一样:‘))

while a != b:

if a > b:

print(‘你第%d输入的数字小于电脑随机数字‘%i)

b = int(input(‘请再次输入数字:‘))

else:

print(‘你第%d输入的数字大于电脑随机数字‘%i)

b = int(input(‘请再次输入数字:‘))

i+=1

else:

print(‘恭喜你,你第%d次输入的数字与电脑的随机数字%d一样‘%(i,b))

17、计算平方根

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

num_sqrt = num ** 0.5

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

18、判断字符串是否只由数字组成

#方法一

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

t="a12d3"

print(is_number(t))

#方法二

t = "q123"

print(t.isdigit) #检测字符串是否只由数字组成

#方法三

t = "123"

print(t.isnumeric) #检测字符串是否只由数字组成,这种方法是只针对unicode对象

19、判断奇偶数

#方法一

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("{0}是偶数".format(num))

else:

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

break

20、判断闰年

#方法一

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

if (year % 4) == 0:

if (year % 100) == 0:

if(year % 400) ==0:

print("{0}是闰年".format(year)) #整百年能被400整除的是闰年

else:

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

else:

print("{0}是闰年".format(year)) #非整百年能被4整除的为闰年

else:

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

#方法二

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

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

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

else:

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

#方法三

import calendar

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

check_year=calendar.isleap(year)

if check_year == True:

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

else:

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

21、获取最大值

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(‘输入需要对比大小的数字的个数:

‘))

num = [int(input(‘请输入第%d个数字:

‘%i))for i in range(1,N+1)]

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

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

22、斐波那契数列

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13;特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

# 判断输入的值是否合法

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

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

# 获取输入十进制数

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

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

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

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

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

24、最大公约数

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

25、最小公倍数

# 定义函数

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

26、简单计算器

# 定义函数

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

27、生成日历

# 引入日历模块

import calendar

# 输入指定年月

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

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

# 显示日历

print(calendar.month(yy, mm))

28、文件IO

# 写文件

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

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

看到我了吧!")

# Read a file

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

text = in_file.read

print(text)

29、字符串判断

# 测试实例一

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) # 判断所有字符都是空白字符、 、

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)

30、字符串大小写转换

str = "https://www.cnblogs.com/ailiailan/"

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

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

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

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

31、计算每个月天数

import calendar

monthRange = calendar.monthrange(2016,9)

print(monthRange)

32、获取昨天的日期

# 引入 datetime 模块

import datetime

def getYesterday:

today=datetime.date.today

oneday=datetime.timedelta(days=1)

yesterday=today-oneday

return yesterday

# 输出

print(getYesterday)

numpythonlist

原文地址:https://www.cnblogs.com/zhanghan123/p/11650176.html

时间: 2024-10-03 15:51:39

常用Python实现的相关文章

常用Python第三方库简介

如果说强大的标准库奠定了Python发展的基石,丰富的第三方库则是python不断发展的保证,随着python的发展一些稳定的第三库被加入到了标准库里面,这里有6000多个第三方库的介绍 下表中加粗并且标红的都是我平时使用较多的一些第三方库. 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 常用Python第三方库 分类 库名称 库用途 Web框架 Django 开源web开发框架,它鼓励快速开发,并遵循MVC设计,我以前用过很多次,比较好用,开

38个常用Python库:数值计算、可视化、机器学习等8大领域都有了

一.数值计算 数值计算是数据挖掘.机器学习的基础.Python提供多种强大的扩展库用于数值计算,常用的数值计算库如下所示. 1. NumPy 支持多维数组与矩阵运算,也针对数组运算提供大量的数学函数库.通常与SciPy和Matplotlib一起使用,支持比Python更多种类的数值类型,其中定义的最重要的对象是称为ndarray的n维数组类型,用于描述相同类型的元素集合,可以使用基于0的索引访问集合中元素. 2. SciPy 在NumPy库的基础上增加了众多的数学.科学及工程计算中常用的库函数,

常用python日期、日志、获取内容循环的代码片段

近段时间对shell脚本和python进行了梳理,将一些脚本中常用的内容,考虑多种方法整理出来,形成有用的代码片段,这样就可以在需要的时候直接使用,也可以用于备忘和思考.本次整理的代码片段有: python中日期.时间常用获取方法: 记录处理日志的logging模块使用:从目录,文件,命名结果中,获取循环条件进行循环.我将这些有用的代码片段整理在一个Python脚本中了,并且测试可用.脚本内容如下: #!/usr/bin/env python #_*_coding:utf8_*_ #常用日期和时

常用python机器学习库总结

开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处理,科学计算,机器学习和数据挖掘领域,有很多很多优秀的Python工具包可供使用,所以作为Pythoner,也是相当幸福的.如果仔细留意微博和论坛,你会发现很多这方面的分享,自己也Google了一下,发现也有同学总结了"Python机器学习库",不过总感觉缺少点什么.最近流行一个词,全栈工

干货--Excel的表格数据的一般处理和常用python模块。

写在前面: 本文章的主要目的在于: 介绍了python常用的Excel处理模块:xlwt,xlrd,xllutils,openpyxl,pywin32的使用和应用场景. 本文只针对于Excel表中常用的表格数据的处理,其他复杂操作如公式,柱状图等其他数据没有涉及. 大佬的肩膀:http://www.gocalf.com/blog/python-read-write-excel.html#excel 读取模块1:xlrd 官方quick start(急于求成有时候很有用) import xlrd

常用Python文件

# -*- coding: utf-8 -*-"""Created on Wed Jun 28 18:42:33 2017 @author: lmt"""import reimport numpy as np '''该程序实现对giza++后的对齐双语平行语料抽取对齐词汇关系建立源语言到目标语言的映射矩阵,编号从0开始,将对齐文件中的NULL当作第一个词语如果词语之间存在对齐关系,则将对齐矩阵matrixST[s][t]位置值设置为1,其它为0

CTF常用python库PwnTools的使用学习

之前主要是使用zio库,对pwntools的了解仅限于DynELF,以为zio就可以取代pwntools.后来发现pwntools有很多的高级用法都不曾听说过,这次学习一下用法,希望可以在以后的exp编写中能提供效率. PwnTools的官网如下:http://pwntools.com/ 安装方法是使用pip命令,pip install pwn.这样就可以安装上pwn库了.使用时用from pwn import *来进行调用.下面给出了PwnTools中的主要IO函数.这个比较容易跟zio搞混,

常用python包(依赖)Ubuntu下

amqp==1.4.9anyjson==0.3.3apturl==0.5.2beautifulsoup4==4.4.1billiard==3.3.0.23blinker==1.3Brlapi==0.6.4bs4==0.0.1celery==3.1.25celery-with-redis==3.0chardet==2.3.0checkbox-support==0.22command-not-found==0.3cryptography==1.2.3decorator==4.0.11defer==1

常用python模块

模块 项目数 1. os 用在(28679)个项目中 2. sys 用在(26398)个项目中 3. time 用在(17784)个项目中 4. re 用在(15645)个项目中 5. json 用在(15400)个项目中 6. random 用在(11208)个项目中 7. numpy 用在(10875)个项目中 8. logging 用在(10831)个项目中 9. collections 用在(10006)个项目中 10. argparse 用在(9594)个项目中 11. datetim