Python常见的脚本汇总
1、冒泡排序
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 | 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次方的方法
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 | def power(x,n): s = 1 while n > 0 : n = n - 1 s = s * x return s print (power( 2 , 4 )) |
3、计算a*a + b*b + c*c + …
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 | def power(x,n): s = 1 while n > 0 : n = n - 1 s = s * x return s print (power( 2 , 4 )) |
4、计算阶乘 n!
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 | #方法一 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() |
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 | #方法二 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() |
5、列出当前目录下的所有文件和目录名
[Python] 纯文本查看 复制代码
?
1 2 3 4 | import os for d in os.listdir( '.' ): print (d) |
6、把一个list中所有的字符串变成小写:
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 | L = [ 'Hello' , 'World' , 'IBM' , 'Apple' ] print ([s.lower() for s in L]) #整个list所有字符串都变成小写,返回一个list for s in L: s = s.lower() print (s) #将list中每个字符串都变成小写,返回每个字符串 |
7、输出某个路径下的所有文件和文件夹的路径
[AppleScript] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 9 | import os 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、输出某个路径及其子目录下的所有文件路径
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 9 | import os 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 = "E:\BaiduYunDownload" show_dir(filepath) |
9、输出某个路径及其子目录下所有以.html为后缀的文件
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 | import os def print_dir(filepath): for i in os.listdir(filepath): path = os.path.join(filepath,i) if os.path.isdir(path): #isdir()判断是否是目录 print_dir(path) #如果是目录,使用递归方法 if path.endswith( ".html" ): print (path) filepath = "E:\BaiduYunDownload" print_dir(filepath) |
10、把原字典的键值对颠倒并生产新的字典
[Python] 纯文本查看 复制代码
?
1 2 3 4 | 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、打印九九乘法表
[Python] 纯文本查看 复制代码
?
1 2 3 4 | for i in range ( 1 , 10 ): for j in range ( 1 ,i + 1 ): print ( '%d x %d = %d \t' % (j,i,i * j),end = '') #通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。 print () |
12、替换列表中所有的3为3a
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 | 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、打印每个名字
[Python] 纯文本查看 复制代码
?
1 2 3 | L = [ "James" , "Meng" , "Xin" ] for i in range ( len (L)): print ( "Hello.%s" % L[i]) |
14、合并去重
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 | 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、随机生成验证码的两种方式(数字字母)
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 | 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) |
16、计算平方根
[Python] 纯文本查看 复制代码
?
1 2 3 | num = float ( input ( '请输入一个数字:' )) num_sqrt = num * * 0.5 print ( '%0.2f 的平方根为%0.2f' % (num,num_sqrt)) |
17、判断字符串是否只由数字组成
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | #方法一 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)) |
[Python] 纯文本查看 复制代码
?
1 2 3 | #方法二 t = "q123" print (t.isdigit()) #检测字符串是否只由数字组成 |
[Python] 纯文本查看 复制代码
?
1 2 3 | #方法三 t = "123" print (t.isnumeric()) #检测字符串是否只由数字组成,这种方法是只针对unicode对象 |
18、判断奇偶数
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 | #方法一 num = int ( input ( '请输入一个数字:' )) if (num % 2 ) = = 0 : print ( "{0}是偶数" . format (num)) else : print ( "{0}是奇数" . format (num)) |
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 | #方法二 while True : try : num = int ( input ( '请输入一个整数:' )) #判断输入是否为整数,不是纯数字需要重新输入 except ValueError: print ( "输入的不是整数!" ) continue if (num % 2 ) = = 0 : print ( "{0}是偶数" . format (num)) else : print ( "{0}是奇数" . format (num)) break |
19、判断闰年
[Python] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 | #方法一 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)) |
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 | #方法二 year = int ( input ( "请输入一个年份:" )) if (year % 4 ) = = 0 and (year % 100 )! = 0 or (year % 400 ) = = 0 : print ( "{0}是闰年" . format (year)) else : print ( "{0}不是闰年" . format (year)) |
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 | #方法三 import calendar year = int ( input ( "请输入年份:" )) check_year = calendar.isleap(year) if check_year = = True : print ( "%d是闰年" % year) else : print ( "%d是平年" % year) |
20、获取最大值
[Python] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 | 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)) |