100 个 Python 小例子(练习题二)
目录
- 实例031:字母识词
- 实例032:反向输出II
- 实例033:列表转字符串
- 实例034:调用函数
- 实例035:设置输出颜色
- 实例036:算素数
- 实例037:排序
- 实例038:矩阵对角线之和
- 实例039:有序列表插入元素
- 实例040:逆序列表
- 实例041:类的方法与变量
- 实例042:变量作用域
- 实例043:作用域、类的方法与变量
- 实例044:矩阵相加
- 实例045:求和
- 实例046:打破循环
- 实例047:函数交换变量
- 实例048:数字比大小
- 实例049:lambda
- 实例050:随机数
实例031:字母识词
题目:
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
程序分析:这里用字典的形式直接将对照关系存好。
weekT={'h':'thursday', 'u':'tuesday'} weekS={'a':'saturday', 'u':'sunday'} week={'t':weekT, 's':weekS, 'm':'monday', 'w':'wensday', 'f':'friday'} a=week[str(input('请输入第一位字母:')).lower()] if a==weekT or a==weekS: print(a[str(input('请输入第二位字母:')).lower()]) else: print(a)
实例032:反向输出II
题目:
按相反的顺序输出列表的值。
a = ['one', 'two', 'three'] print(a[::-1])
实例033:列表转字符串
题目:
按逗号分隔列表。
L = [1,2,3,4,5] print(','.join(str(n) for n in L))
实例034:调用函数
题目:
练习函数调用。
def hello(): print('Hello World!') def helloAgain(): for i in range(2): hello() if __name__=='__main__': helloAgain()
实例035:设置输出颜色
题目:
文本颜色设置。
class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' print(bcolors.WARNING + "警告的颜色字体?" + bcolors.ENDC)
实例036:算素数
题目:
求100之内的素数。
程序分析:用else
执行for
循环的奖励代码(如果for是正常完结,非break)。
lo=int(input('下限:')) hi=int(input('上限:')) for i in range(lo,hi+1): if i > 1: for j in range(2,i): if (i % j) == 0: break else: print(i)
实例037:排序
题目:
对10个数进行排序。
程序分析:同实例005。
raw=[] for i in range(10): x=int(input('int%d: '%(i))) raw.append(x) for i in range(len(raw)): for j in range(i,len(raw)): if raw[i]>raw[j]: raw[i],raw[j]=raw[j],raw[i] print(raw)
实例038:矩阵对角线之和
题目:
求一个3*3矩阵主对角线元素之和。
mat=[[1,2,3], [3,4,5], [4,5,6] ] res=0 for i in range(len(mat)): res+=mat[i][i] print(res)
实例039:有序列表插入元素
题目:
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
lis=[1,10,100,1000,10000,100000] n=int(input('insert a number: ')) lis.append(n) for i in range(len(lis)-1): if lis[i]>=n: for j in range(i,len(lis)): lis[j],lis[-1]=lis[-1],lis[j] break print(lis)
实例040:逆序列表
题目:
将一个数组逆序输出。
程序分析:依次交换位置,或者直接调用reverse方法。
lis=[1,10,100,1000,10000,100000] for i in range(int(len(lis)/2)): lis[i],lis[len(lis)-1-i]=lis[len(lis)-1-i],lis[i] print('第一种实现:') print(lis) lis=[1,10,100,1000,10000,100000] print('第二种实现:') lis.reverse() print(lis)
实例041:类的方法与变量
题目:
模仿静态变量的用法。
程序分析:构造类,了解类的方法与变量。
def dummy(): i=0 print(i) i+=1 class cls: i=0 def dummy(self): print(self.i) self.i+=1 a=cls() for i in range(50): dummy() a.dummy()
实例042:变量作用域
题目:
学习使用auto定义变量的用法。
程序分析:python
中的变量作用域。
i=0 n=0 def dummy(): i=0 print(i) i+=1 def dummy2(): global n print(n) n+=1 print('函数内部的同名变量') for j in range(20): print(i) dummy() i+=1 print('global声明同名变量') for k in range(20): print(n) dummy2() n+=10
实例043:作用域、类的方法与变量
题目:
模仿静态变量(static)另一案例。
程序分析:综合实例041和实例042。
class dummy: num=1 def Num(self): print('class dummy num:',self.num) print('global num: ',num) self.num+=1 n=dummy() num=1 for i in range(5): num*=10 n.Num()
实例044:矩阵相加
题目:
计算两个矩阵相加。
程序分析:创建一个新的矩阵,使用 for 迭代并取出 X 和 Y 矩阵中对应位置的值,相加后放到新矩阵的对应位置中。
X = [[12,7,3], [4 ,5,6], [7 ,8,9]] Y = [[5,8,1], [6,7,3], [4,5,9]] res=[[0,0,0], [0,0,0], [0,0,0]] for i in range(len(res)): for j in range(len(res[0])): res[i][j]=X[i][j]+Y[i][j] print(res)
实例045:求和
题目:
统计 1 到 100 之和。
res=0 for i in range(1,101): res+=i print(res)
实例046:打破循环
题目:
求输入数字的平方,如果平方运算后小于 50 则退出。
while True: try: n=float(input('输入一个数字:')) except: print('输入错误') continue dn=n**2 print('其平方为:',dn) if dn<50: print('平方小于50,退出') break
实例047:函数交换变量
题目:
两个变量值用函数互换。
def exc(a,b): return (b,a) a=0 b=10 a,b=exc(a,b) print(a,b)
实例048:数字比大小
题目:
数字比较。
a=int(input('a=')) b=int(input('b=')) if a<b: print('a<b') elif a>b: print('a>b') else: print('a=b')
实例049:lambda
题目:
使用lambda来创建匿名函数。
Max=lambda x,y:x*(x>=y)+y*(y>x) Min=lambda x,y:x*(x<=y)+y*(y<x) a=int(input('1:')) b=int(input('2:')) print(Max(a,b)) print(Min(a,b))
实例050:随机数
题目:
输出一个随机数。
程序分析:使用 random
模块。
import random print(random.uniform(10,20))
到此这篇关于100 个 Python 小例子的文章就介绍到这了,更多相关 Python 小例子内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)