python作业

朱小落

关注

阅读 95

2022-02-03

1. Python Hello World 实例

print("Hello World")

2. Python 数字求和

a = abs(-100)
b = int(19.5)
c = a+b
print(c)

3. Python 平方根

a = 100
b = a ** 2

4. Python 二次方程

# 二次方程式 ax**2 + bx + c = 0
# a、b、c 用户提供,为实数,a≠0
import cmath
a = float(input("请输入二次系数a:"))
b = float(input("请输入一次系数b:"))
c = float(input("请输入常系数c:"))

if(a==0):
    if(b!=0):    print("{:.2f}".format((-c)/b))
    elif(c==0):  print("无穷解")
    else:        print("无解")
else:
    d = b**2-4*a*c
    if(d<0): print("无解")
    else:
        x1 = (-b-cmath.sqrt(d))/(2*a)
        x2 = (-b+cmath.sqrt(d))/(2*a)
        print("{0:.2f}{1:.2f}".format(x1,x2))

5. Python 计算三角形的面积

import math
a = float(input("请输入三角形第一边长a:"))
b = float(input("请输入三角形第二边长b:"))
c = float(input("请输入三角形第三边长c:"))
p = (a+b+c)/2
s = math.sqrt(p*(p-a)*(p-b)*(p-c))
print("面积为:{0:.2f}".format(s))

6. Python 计算圆的面积

import math
r = float(input("圆的半径r:"))
s = math.pi*(r**2)
print("面积为:{0:.2f}".format(s))

7. Python 随机数生成

import random
a = random.random()
print(a)
b = random.uniform(1,10)
print(b)
c = random.randint(1,10)
print(c)
d = random.randrange(1,20,5)
print(d)
e = random.choice((1,62,53,44,35,26))
print(e)
f = [1,2,3,4,5,6]
random.shuffle(f)
print(f)
g = random.sample((1,62,53,44,35,26),4)
print(g)
h = random.seed(2)

#应用:随机产生8位密码,密码由数字和字母组成

#48-57-"0"-"9";65-90-"A"-"Z",97-122-"a"-"z"
num_letters = random.randint(1,7)
num_numerics = 8-num_letters
digits = [chr(i) for i in range(48,58)]
ascii_letters = [chr(i) for i in range(65,91)]+[chr(i) for i in range(97,123)]
numerics = [random.choice(digits) for i in range(num_numerics)]
letters = [random.choice(ascii_letters) for i in range(num_letters)]
all_chars = numerics+letters
random.shuffle(all_chars)
code = "".join([i for i in all_chars])
print(code)

8. Python 摄氏温度转华氏温度

#摄氏温度转华氏温度的公式为 celsius * 1.8 = fahrenheit - 32
celsius = float(input("请输入摄氏温度:"))
fahrenheit = (celsius * 1.8) + 32
print("摄氏温度{0}对应的华氏温度为{1}".format(celsius,fahrenheit))

9. Python 交换变量

//使用临时变量
a = int(input("请输入一个数:a"))
b = int(input("请输入一个数:b"))
temp = a;
a = b
b = temp
print("a={}".format(a))
print("b={}".format(b))

//不使用临时变量
a,b = 23,45
print("a={0}   b={1}".format(a,b))
a,b = b,a
print("a={0}   b={1}".format(a,b))

10. Python if 语句

//if-else使用
x,y,z = map(int,input().split())
if x>y :
    MAX = x
    if x<z:
        MAX = z
else:
    MAX = y
    if y<z:
        MAX = z
print(MAX)

//if-elif-else使用
a = int(input("请输入0/1后继续:"))
if(a==0):
    print("0:false")
elif(a==1):
    print("1:true")
else:
    print("请正确输入")

//条件表达式
a = int(input("请输入0/1后继续:"))
b = 10 if a==0 else 30
print(b)

11. Python 判断字符串是否为数字

#Python 判断字符串是否为数字——使用isdecimal()、isdigit()、isnumeric()

#使用str.isdigit()
print("1234".isdigit())   #True【1】
print("12.34".isdigit())
print("¹²³".isdigit())    #True【3】
print("1234".isdigit()) #True【4】
print("ⅠⅡⅢⅣⅤ".isdigit())
print("①②③④⑤".isdigit()) #True【6】
print("1/3".isdigit())
print("¼".isdigit())
print("0b1011".isdigit())
print("0xAB".isdigit())
print("1 2 3 4".isdigit())
print("abc123".isdigit())
print("@123".isdigit())
print("一二三四".isdigit())

#使用str.isdecimal()
print("1234".isdecimal())   #True【1】
print("12.34".isdecimal())
print("¹²³".isdecimal())    
print("1234".isdecimal()) #True【4】
print("ⅠⅡⅢⅣⅤ".isdecimal())
print("①②③④⑤".isdecimal()) 
print("1/3".isdecimal())
print("¼".isdecimal())
print("0b1011".isdecimal())
print("0xAB".isdecimal())
print("1 2 3 4".isdecimal())
print("abc123".isdecimal())
print("@123".isdecimal())
print("一二三四".isdecimal())
3.isnumeric()

#使用str.isnumeric
print("1234".isnumeric())   #True【1】
print("12.34".isnumeric())
print("¹²³".isnumeric())    #True【3】
print("1234".isnumeric()) #True【4】
print("ⅠⅡⅢⅣⅤ".isnumeric())#True【5】
print("①②③④⑤".isnumeric()) #True【6】
print("1/3".isnumeric())
print("¼".isnumeric())#True【8】
print("0b1011".isnumeric())
print("0xAB".isnumeric())
print("1 2 3 4".isnumeric())
print("abc123".isnumeric())
print("@123".isnumeric())
print("一二三四".isnumeric())  #True【14】

12. Python 判断奇数偶数

def odd_even(a):
    if(a%2==0):
        return "even";
    elif(a%2==1):
        return "odd";
a = int(input('请输入一个正整数:'))
print(odd_even(a))

13. Python 判断闰年

//自定义函数
def isLeapYear(y):
    if y%4==0:
        return True
    else:
        return False

year = int(input("请输入年份:"))
print(isLeapYear(year))

//使用Calendar模块
import calendar
calendar.isleap(2000)

14. Python 获取最大值函数

max(100-40,2,3)
#60

15. Python 质数判断

def isPrime(a):
    if(a<2):
        print("输入错误")
        return False
    for each in range(2,a):
        if(a % each == 0):
            return True
a = int(input("请输入一个大于2的正整数:"))
print(isPrime(a))

16. Python 输出指定范围内的素数

def Primes(start,end):
    res = []
    a = start
    b = end
    if(start>end):
        return res
    elif(end<2):
        return res
    elif(start<2):
        a = 2
    for nums in range(a,b):
        for factor in range(2,nums):
            if(nums % factor == 0):
                res.append(nums)
                break
    return res
start = int(input("请输入一个正整数作起点范围:"))
end = int(input("请输入一个正整数作终点范围:"))
print(Primes(start,end))

17. Python 阶乘实例

def factorial(n):
    if n==0:
        return 0
    
    res = 1
    for i in range(1,n+1):
        res = res*i
    return res

a = int(input("请输入一个整数:"))
print(factorial(a))

18. Python 九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print("{1}x{0}={2}".format(i,j,i*j),end=" ")
    print()

19. Python 斐波那契数列

20. Python 阿姆斯特朗数

21. Python 十进制转二进制、八进制、十六进制

#十进制转二进制、八进制、十六进制
x = 1234
bx = bin(x)
ox = oct(x)
hx = hex(x)

22. Python ASCII 码与字符相互转换

ord("A")    #65

chr(65)     #'A'

23. Python 最大公约数算法

def func(a,b):
    if(a==0 or b==0):
        print("输入错误")
        return
    if a>b:
        div1 = a
        div2 = b
    else:
        div1 = b
        div2 = a
    while(True):
       remain = div1 % div2
       if(remain==0):
           break
       div1 = div2
       div2 = remain
    if(div2==1):
        print("{}与{}为互质数".format(a,b))
    else:
        print("{}与{}的最大公约数为{}:".format(a,b,div2))

a,b = map(int,input("请输入两个正整数:").split())
func(a,b)

24. Python 最小公倍数算法

def find(a,b):
    if(a>b):
        m = a
        n = b
    else:
        m = b
        n = a
#从小数n开始往后进行整除找到最小公倍数后break
    for i in range(n,-2,-1):
        if n%i==0 and m%i==0:
            return (n/i)*(m/i)*i

print(find(70,35))

25. Python 简单计算器实现

def calculator():
#简单计算器实现+-*/
    a = float(input("第一个操作数:"))
    sign = input("运算:")
    b = float(input("第二个操作数:"))
    if   sign=="+":
         print(a+b)
    elif sign =="-":
        print(a-b)
    elif sign=="*":
        print(a*b)
    elif sign=="/":
        if b==0:
            print("除数不能为0")
        else:
            print(a/b)
    else:
        print("运算符输入错误")
        
calculator()

26. Python 生成日历

import calendar
cal = calendar.month(2022,1)
print(cal)

27. Python 使用递归斐波那契数列

28. Python 文件 IO

29. Python 字符串判断

#法一:使用isinstance(s,str)
s = "123"
isinstance(s,str)

#法二:使用type()
s = "123"
type(s)==type("s")

30. Python 字符串大小写转换


s = "asdfGHJKL"
s.lower()    #转换为小写
s.upper()    #转换为大写
s.swapcase() #将字符串中大写转换为小写,小写转换为大写

31. Python 计算每个月天数

import calendar
def dayOfMonth(ye,mo):
    if mo<=12 and mo >=1:
        cal = calendar.monthrange(ye,mo)
        return cal[1]
    print('输入有误')

print(dayOfMonth(2022,1))

32. Python 获取昨天日期

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

33. Python list 常用操作

a = [] #创建空列表
b = ["这","是","一","个","列表",1] #创建一个非空列表
c = list("123hello")#其他类型转换为列表
b[3] = "list" #列表元素的赋值
del b[4]
c[0:3] = "一二三"#切片赋值
c.append("world")
c.count("o")
d = c.copy()
b.extend(c)
b.index("world")
c.insert(3,"四")
c.pop()
c.remove("一")
c.reverse()
c.sort()

34. Python 约瑟夫生者死者小游戏

(选做)

35. Python 实现秒表功能

36. Python 计算 n 个自然数的立方和

nums = int(input("请输入自然数:"))
sum = 0
for i in range(1,nums+1):
    sum = sum + i**3
print(sum)

37. Python 计算数组元素之和

lis = [1,3,5,7,9,34]
res = 0
for each in lis:
    res = res + each
print(res)

38. Python 数组翻转指定个数的元素

39. Python 将列表中的头尾两个元素对调

def swap_HeadTail(list1):
    a = list1[0]
    list1[0] = list1[-1]
    list1[-1] = a

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
swap_HeadTail(list1)

40. Python 将列表中的指定位置的两个元素对调

def swap(list1,i,j):
    a = list1[i]
    list1[i] = list1[j]
    list1[j] = a

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
swap(list1,0,2)    #list1:['Taobao', 'Runoob', 'Google', 'Baidu']

41. Python 翻转列表

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.reverse() #list1:['Baidu', 'Taobao', 'Runoob', 'Google']

42. Python 判断元素是否在列表中存在

def isInlist(list1,x):
    try:
        list1.index(x)
        return True
    except ValueError:
        return False


l = ["a",3,4,"bcdef"]
isInlist(l,"a")    #True
isInlist(1,6)    #False

43. Python 清空列表

list1 = ["a",3,4,"bcdef"]
list1.clear()

44. Python 复制列表

list1 = ["a",3,4,"bcdef"]
list2 = list1.copy()

45. Python 计算元素在列表中出现的次数

list1 = ["a",3,4,"bcdef"]

list1.count("a")    #1

list1.count(6)    #0

46. Python 计算列表元素之和

list1 = [2,3,4,5,6]
sum = 0
for each in list1:
    sum = sum+each

47. Python 计算列表元素之积

def mul_result(list1):
    result = 1
    for each in list1:
        result = each*result
    return result

list1=[1,2,3,4,5]
mul_result(list1)  #120

mul_result([0,1,2])    #0

48. Python 查找列表中最小元素

list1=[1,2,3,4,5]
min(list1)    #1

49. Python 查找列表中最大元素

list1=[1,2,3,4,5]
max(list1)    #5

50. Python 移除字符串中的指定位置字符

#字符串不可变,先转换为序列
s = "HelloWorld"
li = []
for each in s:
    li.append(each)

#在序列中移除指定位置place表示索引位置
place = 3
li.pop(3)

#序列转换为string
s = "".join(li)

下面 25 道选做

51. Python 判断字符串是否存在子字符串

def is_Sub(s,s1):
    result = s.find(s1)
    if(result==-1):
        return False
    else:
        return True
    
s = "Hello World"
s1 = "oW"
print(is_Sub(s,s1))

52. Python 判断字符串长度

a = "Hello World"
print(len(a))

53. Python 使用正则表达式提取字符串中的 URL

54. Python 将字符串作为代码执行

55. Python 字符串翻转

s = "HelloWorld"
list1 = []
for e in s:
    list1.append(e)

list1.reverse()
s = "".join(list1)
print(s)

56. Python 对字符串切片及翻转

s = "HelloWorld"
s[3:5]    #'lo'
s[1:-3]    #'elloWo'
s[:-2]    #'HelloWor'
s[:]    #'HelloWorld'
s[3:]    #'loWorld'
s[-3:]    #'rld'
s[1:6:2]    #'elW'
s[8:0:-2]    #'lool'

57. Python 按键(key)或值(value)对字典进行排序

#按key进行排序
d4={4:"d",1:"a",5:"e",2:"b",3:"c"}
items = list(d4.items())
items.sort(key=lambda x:x[0],reverse=False)
#按value进行排序
d5 = {"d":4,"a":1,"e":5,"b":2,"c":3}
items = list(d5.items())
items.sort(key=lambda x:x[1],reverse=False)

58. Python 计算字典值之和

def sum_values(dict1):
    key_dict1 = list(dict1)
    sum = 0
    for each in key_dict1:
        sum = sum+dict1[each]
    return sum

d1 = {"jack":4098,"sape":4139,"hat":1001}
sum_values(d1)    #9238

59. Python 移除字典点键值(key/value)对

d1.pop("jack")    #删除指定键值对
d1.popitem()      #删除最后一对键和值

60. Python 合并字典

d1 = {"jack":4098,"sape":4139,"hat":1001}
d2 = dict(skirts=6990,trousers=3780)
d1.update(d2)

61. Python 将字符串的时间转换为时间戳

timestr = '2022-01-28 03:04:00'
                     
time.strptime(timestr,"%Y-%m-%d %H:%M:%S")
                     
#time.struct_time(tm_year=2022, tm_mon=1, tm_mday=28, tm_hour=3, tm_min=4, tm_sec=0, #tm_wday=4, tm_yday=28, tm_isdst=-1)

62. Python 获取几天前的时间

import datetime
today = datetime.datetime.now().date()
delta  = datetime.timedelta(days = 40)
print(today - delta)

63. Python 将时间戳转换为指定格式日期

# 格式化成2022-01-28 03:04:00形式
time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())
#'2022-01-28 03:04:00'

# 格式化成Fri Jan 28 03:07:14形式
time.strftime("%a %b %d %H:%M:%S",time.gmtime())
#'Fri Jan 28 03:07:14'

64. Python 打印自己设计的字体

65. Python 二分查找

66. Python 线性查找

def linearSearch(lis,key):
    for i in range(len(lis)):
        if lis[i] == key:
            return i;
    return -1

lis = ["h","e","l","o","w","o","r","d"]
res = linearSearch(lis,"0")
if(res==-1):
    print("查找失败")
else:
    print(res)

67. Python 插入排序

68. Python 快速排序

69. Python 选择排序

70. Python 冒泡排序

71. Python 归并排序

72. Python 堆排序

73. Python 计数排序

74. Python 希尔排序

75. Python 拓扑排序

精彩评论(0)

0 0 举报