Python十个实例(三)

0x00 ASCII转换

def asc():
    temp = int(input("ASCII转字符请按1,字符转ASCII请按2:"))

    if temp == 1:
        a = int(input("请输入一个ASCII码:"))
        print(a,"对应的字符为",chr(a))
    elif temp ==2:
        c = input("请输入一个字符:")
        print(c,"对应的字符为:",ord(c))
    else:
        print("输入有误,请输入1或2进行选择!")
        global flag
        flag = 1

flag = 1

while flag == 1:
    try:        
        flag = 0
        asc()
    except (ValueError,TypeError):
        print("输入有误,请检查输入!")

0x01 最大公约数

一般算法:

while True:
    try:        
        num1 = int(input("请输入第一个数:"))
        num2 = int(input("请输入第二个数:"))

        for i in range(1,min(num1,num2)+1):
            if (num1 % i == 0) & (num2 % i == 0):
                divisor = i
        print(num1,"和",num2,"的最大公约数是:",divisor)
        break
    except ValueError:
        print("输入有误,请检查输入!")

辗转相除法:

def find_GCD(x,y):
    temp = y
    while (x % y) != 0:
        temp = x % y
        x,y = y,temp
    return temp

n1 = int(input("请输入第一个数字:"))
n2 = int(input("请输入第二个数字:"))

print(n1,"和",n2,"的最大公约数是:",find_GCD(n1,n2))

0x02 最小公倍数


0x03 简易计算器

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

def str():
    global n1
    global n2
    n1 = int(input("请输入第一个数:"))
    n2 = int(input("请输入第二个数:"))    

#循环标志位flag置1
flag = 1
while flag == 1:
    try:
        #正常运行flag置0跳出循环
        flag = 0

        temp = int(input("相加请按1,相减请按2\n相乘请按3,相除请按4\n"))

        if temp == 1:
            str()
            print(n1,"+",n2,"=",add(n1,n2))
        elif temp == 2:
            str()
            print(n1,"-",n2,"=",subtract(n1,n2))
        elif temp == 3:
            str()
            print(n1,"*",n2,"=",multiply(n1,n2))
        elif temp == 4:
            str()
            print(n1,"/",n2,"=",divide(n1,n2))
        else:
            print("输入有误,请输入1、2、3、4进行选择!")
            #异常时flag置1,继续循环
            flag = 1

    except ValueError:
        print("输入有误,请检查输入!")
        flag = 1

0x04 生成日历

import calendar

#设置星期天为首
calendar.setfirstweekday(firstweekday=6)

while True:
    try:
        y = int(input("请输入年份:"))
        m = int(input("请输入月份:"))
        print(calendar.month(y,m))
        break

    except ValueError:
        print("输入错误!")

0x05 文件IO

with open("test.txt", "w") as out_file:
    out_file.write("该文本会写入文件中!")

with open("test.txt", "r") as in_file:
    text = in_file.read()
print(text)

0x06 大小写转换

def upper(str):
    print("所有字符转为大写:",str.upper())

def lower(str):
    print("所有字符转为小写:",str.lower())

def cap(str):
    print("首字母大写,其余小写:",str.capitalize())

def title(str):
    print("每个单词首字母大写,其余小写:",str.title())

str = input("请输入要转换的字符串:")

upper(str)
lower(str)
cap(str)
title(str)

0x07 字符串判断

str = input("请输入要判断的字符串:")

print(str.isalnum()) # 判断所有字符都是数字或者字母
print(str.isalpha()) # 判断所有字符都是字母
print(str.isdigit()) # 判断所有字符都是数字
print(str.islower()) # 判断所有字符都是小写
print(str.isupper()) # 判断所有字符都是大写
print(str.istitle()) # 判断所有单词都是首字母大写,像标题
print(str.isspace()) # 判断所有字符都是空白字符、\t、\n、\r

0x08 指定月份天数

import calendar

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

monthRange = calendar.monthrange(year,month)
print("该月有{}天" .format(monthRange[1]))

0x09 昨日日期

import datetime

def getYesterday():
    today = datetime.date.today()
    oneday = datetime.timedelta(days=1)
    yesterday = today - oneday
    return yesterday

print(getYesterday())
发布了26 篇原创文章 · 获赞 26 · 访问量 3771

猜你喜欢

转载自blog.csdn.net/weixin_43872099/article/details/104312565