⼀些最常⽤的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
2、计算x的n次⽅的⽅法
def power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s
3、计算a*a + b*b + c*c + ……
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
4、计算阶乘 n!
def fac(): num = int(input('请输⼊⼀个数字: ')) factorial = 1# 查看数字是负数,0 或正数 if num <>
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 resultdef fact(n): if n==1: return 1 return n * fact(n - 1)
5、列出当前⽬录下的所有⽂件和⽬录名
[d for d in os.listdir('.')]
6、把⼀个list中所有的字符串变成⼩写:
L = ['Hello', 'World', 'IBM', 'Apple'][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(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\Internet 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) dswith('.html'): print(path)filepath =
'E:\PycharmProjects'print_dir(filepath)
10、把原字典的键值对颠倒并⽣产新的字典
11、打印九九乘法表
for i in range(1, 10): for j in range(1, i+1): # print('{}x{}={}\t'.format(j, i, i*j), end='') print('%d x %d = %d \t'%(i, j, i*j),end='') print()
通过指定end参数的值,可以取消在末尾输出回车符,实现不换⾏。
12、替换列表中所有的3为3a
num = ['harden','lampard',3,34,45,56,76,87,78,45,3,3,3,87686,98,76]# unt(3))# print(num.index(3))for i in unt(3)): #获取3出现的次数 ele_index = num.index(3) #获取⾸
次3出现的坐标 num[ele_index]='3a' #修改3为3 print(num)
13、打印每个名字
L = ['James','Meng','Xin']for i in range(len(L)): print('Hello,%s'%L[i])
** 善于使⽤ rang() ,会使问题变得简单
14、合并去重
list1 = [2, 3, 8, 4, 9, 5, 6]list2 = [5, 6, 10, 17, 11, 2]list3 = list1 + list2print(list3) # 不去重只进⾏两个列表的组合print(set(list3)) # 去重,类型为set需要转换成listprint(list(set(list3)))
15、随机⽣成验证码的两种⽅式
import randomlist1=[]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,stringstr1 = '0123456789'str2 = string.ascii_letters # string.ascii_letters 包含所
有字母(⼤写或⼩写)的字符串str3 = str1+str2ma1 = random.sample(str3,6) #多个字符中选取特定数量的字符ma1 = ''.join(ma1) #使⽤join拼接转换为字符串print(ma1) #通过引⼊string模块和random模块使⽤现有的⽅法#随机数字⼩游戏import randomi = 1a =
random.randint(0,100)b = int( input('请输⼊0-100中的⼀个数字\n然后查看是否与电脑⼀
样:'))while a != b: if a > b: print('你第%d输⼊的数字⼩于电脑随机数字'%i) b = int(input('请再次输⼊数字:')) else: print('你第%d输⼊的数字⼤于电脑随机数字'%i) b = int(input('请再次输⼊数字:')) i+=1else: print('恭喜你,你第%d次输⼊的数字与电脑的随机数字%d⼀样'%(i,b))
16、计算平⽅根
num = float(input('请输⼊⼀个数字: '))num_sqrt = num ** 0.5print(' %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
Falseprint(chri.isdigit()) #检测字符串是否只由数字组成print(chri.isnumeric()) #检测字符串是否只由数字组成,这种⽅法是只针对unicode对象
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、判断闰年
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 calendaryear = 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、斐波那契数列
斐波那契数列指的是这样⼀个数列 0, 1, 1, 2, 3, 5, 8, 13;特别指出:第0项是0,第1项是第⼀个1。从第三项开始,每⼀项都等于前两项之和。
# 判断输⼊的值是否合法if nterms <=>
print('请输⼊⼀个正整数。')elif nterms == 1: print('斐波那契数列:') print(n1)else: print('斐波那契数列:') print(n1, ',', n2, end=' , ') while count <>
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))
23、最⼩公倍数
# 定义函数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))
24、简单计算器
# 定义函数def add(x, y): '''相加''' return x + ydef subtract(x, y): '''相减''' return x - ydef multiply(x, y): '''相乘''' return x * ydef 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、⽣成⽇历
# 引⼊⽇历模块import calendar# 输⼊指定年⽉yy = int(input('输⼊年份: '))mm = int(input('输⼊⽉份: '))# 显⽰⽇历h(yy, mm))
26、⽂件IO
# 写⽂件with open('', 'wt') as out_file: out_file.write('该⽂本会写⼊到⽂件中\n看到我了吧!')# Read a filewith open('', 'rt') as in_file: text = ad()print(text)
27、字符串判断
# 测试实例⼀print('测试实例⼀')str = 'runoob'print(str.isalnum()) # 判断所有字符都是数字或者字母print(str.isalpha()) # 判断所有字符都是字母print(str.isdigit()) # 判断所有字符都是数字print(str.islower()) # 判断所有字符都是⼩写print(str.isupper()) # 判断所有字符都是⼤写
print(str.istitle()) # 判断所有单词都是⾸字母⼤写,像标题print(str.isspace()) # 判断所有字符都是空⽩字符、\t、\n、\rprint('------------------------')# 测试实例⼆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 = 'wwwblogs/ailiailan/'print(str.upper()) # 把所有字符中的⼩写字母转换成⼤写字母print(str.lower()) # 把所有字符中的⼤写字母转换成⼩写字母print(str.capitalize()) # 把第⼀个字母转化为⼤写字母,其余⼩写print(str.title()) # 把每个单词的第⼀个字母转化为⼤写,其余⼩写
29、计算每个⽉天数
import calendarmonthRange = hrange(2016,9)print(monthRange)
30、获取昨天的⽇期
# 引⼊ datetime 模块import datetimedef getYesterday(): today=day()
oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday # 输出
print(getYesterday())
31、Python list常⽤操作
1.list负数索引
>>> li ['a', 'b', 'mpilgrim', 'z', 'example']>>> li[-1] 'example'>>> li[-3] 'mpilgrim'>>> li ['a', 'b',
'mpilgrim', 'z', 'example']>>> li[1:3] ['b', 'mpilgrim'] >>> li[1:-1] ['b', 'mpilgrim', 'z'] >>> li[0:3] ['a', 'b', 'mpilgrim']
2.list增加元素
>>> li ['a', 'b', 'mpilgrim', 'z', 'example']>>> li.append('new')>>> li ['a', 'b', 'mpilgrim', 'z', 'example', 'new']>>> li.insert(2, 'new')>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']>>> li.extend(['two', 'elements']) >>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
3.list搜索
>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']>>> li.index('example')5>>> li.index('new')2>>> li.index('c')Traceback (innermost last): File '
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论