100 个 Python 小例子(练习题二)
作者:野客 发布时间:2021-02-09 10:15:31
目录
实例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))
来源:https://zhuanlan.zhihu.com/p/260175468
猜你喜欢
- 阅读上一片:微软建议的ASP性能优化28条守则(1)技巧 3:将数据和 HTML 缓存在 Web 服务器的磁盘上有时,数据可能太多,无法都缓
- 我的通用权限系统设计是更换权限时候尽量不要涉及到代码修改,来自chinaunix论坛,今天转过来看看。希望对大家有所帮助,对PHP100的朋
- 通过第三方库exifread读取照片信息。exifread官网:https://pypi.org/project/ExifRead/一、安装
- 最近在学习Golang语言,中间遇到一个前辈指点,有一个学习原则:Learning By Doing。跟我之前学习Java的经验高度契合。在
- 可用下列函数来产生你需要的东西,将它们发送给用户就可以啦:<%response.write makePassword(16)
- 前言前面我们已经介绍了 python面向对象入门教程之从代码复用开始(一) ,这篇文章主要介绍的是关于Python面向对象之设置对
- MySQL Order By keyword是用来给记录中的数据进行分类的。MySQL Order By Keyword根据关键词分类ORD
- 本文实例讲述了Python求导数的方法。分享给大家供大家参考。具体实现方法如下:def func(coeff): sum=
- 首先对空格宽度的定义:空格,由于每个浏览器处理会有微小的不同,在这里我将可以选中的宽度作为空格的宽度。视觉宽度和可选中的宽度有 0~3px
- 开发环境:python 3.6django 1.11场景一经常有从数据库中获取一批数据,然后在前端以列表的形式展现,比如:获取到所有的用户,
- 三遍记忆,让你记住海量素材的准确位置和用途,提高其可用性.这仅仅是一个示意图.在以往的日子里,我做到了只要脑袋里冒出一个想法,立刻就能知道我
- 任何一个行业里,当有一头近乎垄断的大象盘踞着的时候,生活在大象身后的蚂蚁们既是悲哀又是幸运的。悲哀的是市场已近乎被大象垄断留给他们的空间已经
- asp编程中我们经常要处理字符串,比如一个新闻列表,在我们编写asp程序的时候就要考虑到新闻标题的长度不确定性,因为有的文章标题可能很长,可
- 1.MTV开发模式介绍M:Models 模型(数据)与数据组织相关的功能。组织和存储数据的方法和模式,与数据模型相关的操作。T:Templa
- 有朋友使用DIV居中,但是却发现DIV居中失灵了,是怎么回事呢?下面给大家解决一下问题,呵呵!1、一般情况下DIV居中失效是因为没写DTD语
- Application对象 Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保
- Debug Textarea这个东西是在线写 js 脚本的时候,用来即时查错的东西!也就是,当发现所编写的脚本有问题的时候会有相应的提示,并
- 我们经常会在登录一个网站的时候被引导页挡住前进的脚步,这一点在上个世纪到本世纪初的网站中尤其明显,特别是在企业网站里,几乎每个企业网站都会有
- 内容摘要:最近逛论坛经常看到有朋友问上传文件怎么重命名,怎么以当前日期来重命名上传文件。现在我就介绍一下重命名的方法,希望对大家有所帮助。本
- 调用pytorch内置的模型的方法import torchvisionmodel = torchvision.models.resnet50