输入2个正整数lower和upper(lower_Python入门的30个常用实现

e5621db7fcc92046dd76a77467aa0447.png

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

  • Python 3

1、冒泡排序

lis 

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
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值