P5:判断闰年
输入一个年份,判断其是否为闰年。
非世纪年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);
世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)。
参考示例[python3]:
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))
P6:输出九九乘方表
按照矩阵格式输出九九乘方表,如下图所示:
九九乘方表.png
参考示例[python3]:
for i in range(1, 10): print () for j in range(1, i+1): print ("%d*%d=%d" % (i, j, i*j),end=" ") #python3中end默认值为"\n"
P7:计算π的值
1.利用下列公式计算π的近似值,直到最后一项的绝对值小于10^-5为止
公式
参考示例[python3]:
n=0.0 p=1while p<=100000: if p%4==1: n=n+1/p else: n=n-1/p p=p+2else: print (n*4)
2.用蒙特卡罗法计算π的值。
蒙特卡罗法:基于“随机数”的算法,通过计算落在单位圆内的点与落在正方形内的 点的比值求PI。
蒙特卡罗法
from random import randomfrom math import sqrt max = 2000000count = 0for i in range (1,max): x, y = random(),random() dist = sqrt(x**2+y**2) if dist <= 1: count = count + 1pi = 4*(count/max) print("π的值为%f"%pi)
P8:输出素数
输出指定范围内的所有素数
参考示例[python3]:
from math import sqrt lower = int(input("输入区间最小值: ")) upper = int(input("输入区间最大值: ")) num=[];for i in range(lower,upper+1): if i>1: j=2 for j in range(2,int(sqrt(i+1))): if(i%j==0): break else: num.append(i) print(num)
P9: ASCⅡ码,字符,进制转换
ASCⅡ码与字符互相转换,进制数之间互相转换
参考示例[python3]:
# 用户输入字符c = input("请输入一个字符: ")# 用户输入ASCII码,并将输入的数字转为整型a = int(input("请输入一个ASCII码: "))# 获取用户输入十进制数dec = int(input("输入数字:")) print() print( c + " 的ASCII 码为", ord(c)) print( a , " 对应的字符为", chr(a)) print() print("十进制数为:", dec) print("转换为二进制为:", bin(dec)) print("转换为八进制为:", oct(dec)) print("转换为十六进制为:", hex(dec))''' 二进制数'100'转十进制:int('100', 2) 八进制数'9'转十进制数:int('09', 8) 十六进制'17'转十进制:int('0x17', 16) 注意必须加引号 '''
P10:字符串操作
字符串a为"Hello",字符串b为"#2#Lisaend"。判断字符串b中是否含有“#2#”,如果有,则将字符串a与字符串b中“#2#”与“end”之间的字符串用空格连接起来,然后输出。输出“biubiubiu”
参考示例[python3]:
a = "Hello"b = "#2#Lisaend"if( "#2#" in b) : i=b.find('end') print(a+' '+b[3:i])print("biu"*3)
P11:简易计算器
制作一个简易计算器,可以计算两个数之间的加减乘除
参考示例[python3]:
print("**简易计算器**") str=input("请输入算式:") operator=""while operator=="": if "+"in str: operator = "+" elif "-"in str: operator = "-" elif "*"in str: operator = "*" elif "/"in str: operator = "/" else: str=input("输入错误,请重新输入:") x = float(str[:str.find(operator)]) y = float(str[str.find(operator)+1:]) result = { "+" : x + y, "-" : x - y, "*" : x * y, "/" : x / y }print ("结果为:",result.get(operator))
P12:冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
示意图:
冒泡排序.gif
参考示例[python3]:
def bubble_sort(list): n = len(list) for i in range(n - 1): for j in range(0, n - 1 - i): if list[j] > list[j + 1]: list[j], list[j + 1] = list[j + 1], list[j]
P13:选择排序
选择排序(Selection Sort )是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素。放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
示意图:
选择排序.gif
参考示例[python3]:
def selection_sort(list): n = len(list) for i in range(0, n -1): min_index = i for j in range(i + 1, n): if list[min_index] > list[j]: min_index = j if i != min_index: list[min_index], list[i] = list[i], list[min_index]
P14:插入排序
插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前的扫描过程中,需要把已排序元素逐步向后挪位,为最新元素提供插入空间。
示意图:
插入排序.gif
参考示例[python3]:
def insertion_sort(list): n = len(list) for i in range(1, n): for j in range(i, 0, -1): if list[j] < list[j - 1]: list[j], list[j - 1] = list[j - 1], list[j] else: break
作者:雨滴_26a7
链接:https://www.jianshu.com/p/74d5cc0bf566
。
共同学习,写下你的评论
评论加载中...
作者其他优质文章