python的功能名_python常用功能

1. 获取昨天日期

引入datetime模块

import datetime

def getYesterday():

today = datetime.date.today() #返回当前本地日期

# oneday = datetime.timedelta(day=1) #两个日期对象的最小间隔

oneday = datetime.date.resolution #两个日期对象的最小间隔

yesterday = today - oneday

return yesterday

print(getYesterday())

#2020-10-17

2.  计算每个月天数

import calendar  #导入日历模块

monthRange = calendar.monthrange(2020,10)  #当月的天数

print(monthRange)  #输出当月的天数

# (3, 31)

3.  字符串大小转换

str = "https://www.cnblogs.com/kevin.hou"

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

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

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

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

# HTTPS://WWW.CNBLOGS.COM/KEVIN.HOU

# https://www.cnblogs.com/kevin.hou

# Https://www.cnblogs.com/kevin.hou

# Https://Www.Cnblogs.Com/Kevin.Hou

4.  字符串判断

#测试实例1

print("测试实例1")

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

#测试实例2

print("测试实例2")

str = "Bake corN"

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

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

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

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

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

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

print(str.isspace())

# 测试实例1

# False

# False

# False

# True

# False

# False

# False

# ----------------------------------

# 测试实例2

# False

# False

# False

# False

# False

# False

# False

5. 生成日历

#引入日历模块

import calendar

#输入指定年月

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

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

#显示日历

print(calendar.month(yy, mm))

# 输入年份:2020

# 输入月份:10

# October 2020

# Mo Tu We Th Fr Sa Su

# 1 2 3 4

# 5 6 7 8 9 10 11

# 12 13 14 15 16 17 18

# 19 20 21 22 23 24 25

# 26 27 28 29 30 31

输入年份:2020

输入月份:11

November 2020

Mo Tu We Th Fr Sa Su

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30

6. 简单计算器

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

选择运算:

1、相加

2、相减

3、相乘

4、相除

输入你的选择(1/2/3/4):1

输入第一个数字:2

输入第二个数字:3

2 + 3 = 5

选择运算:

1、相加

2、相减

3、相乘

4、相除

输入你的选择(1/2/3/4):2

输入第一个数字:3

输入第二个数字:5

3 - 5 = -2

选择运算:

1、相加

2、相减

3、相乘

4、相除

输入你的选择(1/2/3/4):3

输入第一个数字:4

输入第二个数字:5

4 * 5 = 20

选择运算:

1、相加

2、相减

3、相乘

4、相除

输入你的选择(1/2/3/4):4

输入第一个数字:8

输入第二个数字:4

8 / 4 = 2.0

7. 最小公倍数

#定义函数

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

# 输入第一个数字:3

# 输入第一个数字:5

# 3 和 5 的最小公倍数为 15

8. 最大公约数

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

输入第一个数字:1

输入第二个数字:2

1 和 2 的最大公约数为 1

输入第一个数字:3

输入第二个数字:5

3 和 5 的最大公约数为 1

9. 十进制转二进制、十六进制、八进制

#获取输入十进制数

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

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

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

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

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

# 输入数字:2

# 十进制数为: 2

# 转换为二进制为: 0b10

# 转换为八进制为: 0o2

# 转换为十六进制为: 0x2

10. 斐波那契数列

#斐波那契数列指的是这样一个数列0,1,1,2,3,5,8,13;特别指出:第0项是0,第1项是第一个1.

#从第三项开始,每一项都等于前两项之和。

#获取用户输入数据

nterms = int(input("你需要几项?"))

#第一和第二项

n1 = 0

n2 = 1

count = 2

#判断输入的值是否合法

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

你需要几项?0

请输入一个正整数。

你需要几项?1

斐波那契数列:

0

你需要几项?2

斐波那契数列:

0 , 1,

你需要几项?3

斐波那契数列:

0 , 1,1,

你需要几项?8

斐波那契数列:

0 , 1,1,2,3,5,8,13,

11. 文件I/O

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)

2101873-20201016220521097-1477466379.png

2101873-20201016220552964-1184085467.png

12. 获取最大值

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

# 输入需要对比大小数字的个数:2

# 请输入需要对比的数字:

# 输入第1个数字:12

# 输入第2个数字:23

# 您输入的数字为: [12, 23]

# 最大值为: 23

# 输入需要对比数字的个数:

# 4

# 请输入第1 个对比数字:

# 1

# 请输入第2 个对比数字:

# 2

# 请输入第3 个对比数字:

# 3

# 请输入第4 个对比数字:

# 4

# 您输入的数字为: [1, 2, 3, 4]

# 最大值为: 4

13.  判断闰年

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

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)

# 输入一个年份:1990

# 1990不是闰年

# 请输入一个年份:1001

# 1001不是闰年

# 请输入年份:2014

# 2014是平年

14. 判断奇偶数

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

# 输入一个数字:0

# 0是偶数

# 输入一个整数:1

# 奇数

15. 计算平方根

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

num_sqrt = num ** 0.5

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

# 请输入一个数字:9

# 9.00的平方根为3.0

16. 随机生成验证码的两种方式

import random #导入随机函数

list1 = [] #新建列表

for i in range(65,91):

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

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

i = 1

a = 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+=1

else:

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

# 请输入0-100中的一个数字

# 然后查看是否与电脑一样:1

# 你第1输入的数字小于电脑随机数字

# 请再次输入数字:4

# 你第2输入的数字小于电脑随机数字

# 请再次输入数字:6

# 你第3输入的数字小于电脑随机数字

# 请再次输入数字:90

# 你第4输入的数字大于电脑随机数字

# 请再次输入数字:12

# 你第5输入的数字小于电脑随机数字

# 请再次输入数字:16

# 你第6输入的数字小于电脑随机数字

# 请再次输入数字:24

# 你第7输入的数字小于电脑随机数字

# 请再次输入数字:56

# 恭喜你,你第8次输入的数字与电脑的随机数字56一样

17. 合并去重

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

# [2, 3, 8, 4, 9, 5, 6, 5, 6, 10, 17, 11, 2]

# {2, 3, 4, 5, 6, 8, 9, 10, 11, 17}

18. 打印每个名字

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

for i in range(len(L)):

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

# Hello,James

# Hello,Meng

# Hello,Xin

19. 替换列表中所有的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)

# 4

# 2

# ['harden', 'lampard', '3a', 34, 45, 56, 76, 87, 78, 45, 3, 3, 3, 87686, 98, 76]

# ['harden', 'lampard', '3a', 34, 45, 56, 76, 87, 78, 45, '3a', 3, 3, 87686, 98, 76]

# ['harden', 'lampard', '3a', 34, 45, 56, 76, 87, 78, 45, '3a', '3a', 3, 87686, 98, 76]

# ['harden', 'lampard', '3a', 34, 45, 56, 76, 87, 78, 45, '3a', '3a', '3a', 87686, 98, 76]

20. 打印9*9乘法表

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

1 x 1 =1

2 x 1 =2 2 x 2 =4

3 x 1 =3 3 x 2 =6 3 x 3 =9

4 x 1 =4 4 x 2 =8 4 x 3 =12 4 x 4 =16

5 x 1 =5 5 x 2 =10 5 x 3 =15 5 x 4 =20 5 x 5 =25

6 x 1 =6 6 x 2 =12 6 x 3 =18 6 x 4 =24 6 x 5 =30 6 x 6 =36

7 x 1 =7 7 x 2 =14 7 x 3 =21 7 x 4 =28 7 x 5 =35 7 x 6 =42 7 x 7 =49

8 x 1 =8 8 x 2 =16 8 x 3 =24 8 x 4 =32 8 x 5 =40 8 x 6 =48 8 x 7 =56 8 x 8 =64

9 x 1 =9 9 x 2 =18 9 x 3 =27 9 x 4 =36 9 x 5 =45 9 x 6 =54 9 x 7 =63 9 x 8 =72 9 x 9 =81

21.把原字典的键值对颠倒并生产新的字典

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

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

print(dict2)

# {'a': 'A', 'b': 'B', 'c': 'C'}

22. 合并去重

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

# [2, 3, 8, 4, 9, 5, 6, 5, 6, 10, 17, 11, 2]

# {2, 3, 4, 5, 6, 8, 9, 10, 11, 17}

23. 输出某个路径及其子目录下所有以.html为后缀的文件

import os

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:\Anaconda"

print_dir(filepath)

E:\Anaconda\Lib\idlelib\help.html

E:\Anaconda\Lib\site-packages\alabaster\about.html

E:\Anaconda\Lib\site-packages\alabaster\donate.html

E:\Anaconda\Lib\site-packages\alabaster\layout.html

E:\Anaconda\Lib\site-packages\alabaster\navigation.html

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

import os

def show_dir(filepath):

for i in os.listdir(filepath):

path = (os.path.join(filepath, i)) #isdir()判断是否是目录

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

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

show_dir(filepath)

C:\Program Files\Internet Explorer\D3DCompiler_47.dll

C:\Program Files\Internet Explorer\DiagnosticsHub.DataWarehouse.dll

C:\Program Files\Internet Explorer\DiagnosticsHub.ScriptedSandboxPlugin.dll

C:\Program Files\Internet Explorer\DiagnosticsHub_is.dll

C:\Program Files\Internet Explorer\DiagnosticsTap.dll

C:\Program Files\Internet Explorer\en-US

C:\Program Files\Internet Explorer\ExtExport.exe

C:\Program Files\Internet Explorer\F12.dll

C:\Program Files\Internet Explorer\F12Resources.dll

C:\Program Files\Internet Explorer\F12Tools.dll

C:\Program Files\Internet Explorer\ie9props.propdesc

C:\Program Files\Internet Explorer\iediagcmd.exe

C:\Program Files\Internet Explorer\iedvtool.dll

C:\Program Files\Internet Explorer\ieinstal.exe

C:\Program Files\Internet Explorer\ielowutil.exe

C:\Program Files\Internet Explorer\ieproxy.dll

C:\Program Files\Internet Explorer\IEShims.dll

C:\Program Files\Internet Explorer\iessetup.ceb

C:\Program Files\Internet Explorer\iessetup.dll

C:\Program Files\Internet Explorer\iexplore.exe

C:\Program Files\Internet Explorer\images

C:\Program Files\Internet Explorer\jsdbgui.dll

C:\Program Files\Internet Explorer\jsdebuggeride.dll

C:\Program Files\Internet Explorer\JSProfilerCore.dll

C:\Program Files\Internet Explorer\jsprofilerui.dll

C:\Program Files\Internet Explorer\log

C:\Program Files\Internet Explorer\MemoryAnalyzer.dll

C:\Program Files\Internet Explorer\msdbg2.dll

C:\Program Files\Internet Explorer\networkinspection.dll

C:\Program Files\Internet Explorer\pdm.dll

C:\Program Files\Internet Explorer\pdmproxy100.dll

C:\Program Files\Internet Explorer\perfcore.dll

C:\Program Files\Internet Explorer\perf_nt.dll

C:\Program Files\Internet Explorer\Plugins

C:\Program Files\Internet Explorer\SIGNUP

C:\Program Files\Internet Explorer\sqmapi.dll

C:\Program Files\Internet Explorer\Timeline.cpu.xml

C:\Program Files\Internet Explorer\Timeline.dll

C:\Program Files\Internet Explorer\Timeline_is.dll

C:\Program Files\Internet Explorer\zh-CN

25. 输出某个路径下的所有文件和文件夹的路径

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

2101873-20201016224854915-2041819385.png

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

L = ['Hello', 'World', 'SONY', 'SHARP', 'GEA']

for s in L:

s.lower()

print(s.lower())

hello

world

sony

sharp

gea

27. 列出当前目录下的所有文件和目录名

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:/"

print(show_dir(filepath))

2101873-20201016225347272-1958711136.png

28.计算阶乘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)

print(fac())

请输入一个数字:-1

抱歉,负数没有阶乘!!!

None

请输入一个数字:0

0的阶乘为1

None

请输入一个数字:3

3 的阶乘为 6

None

29. 计算a*a +b*b +c*c +..........

#求平方和

def calc(numbers):

sum = 0

for n in numbers:

sum = sum + n*n

return sum

print(calc(numbers=[1,2,3] ))

#14

30. 计算x的n 次方

def power(x,n):

s = 1

while n >0 :

n = n-1

s = s*x

return s

print(power(2,3))

# 8

31. 冒泡排序

list = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58] #需要排序的列表

def sortport(): #定义排序函数

for i in range(len(list)-1): #判断i在len(list)-1列表中

for j in range(len(list)-1-i): #判断j在len(list)-1-i列表中

if list[j] > list[j+1]: #判断list[j]的值和list[j+1]的值大小

list[j],list[j+1] = list[j+1],list[j] #进行排序

return list #返回最终排好序的列表,按从小到大顺序排列

print(sortport())

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

print(len(list)) #len(list)为计算list中值的个数,为14

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值