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


猜你喜欢
- 对于DataFrame的修改操作其实有很多,不单单是某个部分的值的修改,还有一些索引的修改、列名的修改,类型修改等等。我们仅选取部分进行介绍
- 分析摩斯密码是一种将文本信息作为一系列通断的音调、灯光或咔嗒声传输的方法,无需特殊设备,熟记的小伙伴即可直接翻译。它以电报发明者Samuel
- 本文实例讲述了JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法。分享给大家供大家参考,具体如下:直接上例子,如下
- 学一些比较知名的模型对身体有好处噢!什么是VGG16模型VGG是由Simonyan 和Zisserman在文献《Very Deep Conv
- 这篇文章主要介绍了python实现简单日志记录库glog的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 当变量维数加大时很难想象是怎样按不同维度求和的,高清楚一个,其他的应该就很清楚了,什么都不说了,上例子,例子一看便明白…..a=range(
- 目录1安装loguru|2loguru简单使用|3loguru保留日志文件|4loguru字符串输出|5loguru封装类,可以直接拿去用!
- 现在,比较牛的设计师和开发者都认识到了可用性在他们工作中的重要性。可用性好的网站会极大地提高用户体验,并且好的用户体验会让用户更加快乐。用聪
- 脚本主要功能:1)通过zabbix api接口采集所有监控主机ip地址;2)通过cmdb系统(蓝鲸)接口采集所有生产主机IP地址、主机名、操
- 最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加上了解 pandas 的使
- 有些时候我们需要得到刚刚插入数据库中的条目id,用于相关系统的更改,在以前我是使用select+top 1+desc 这种笨方法实现的,在没
- 目录楔子faker使用方法基本使用地理信息类基础信息类计算机基础、Internet信息类网络基础信息类浏览器信息类数字类文本、加密类时间信息
- Git 工作流程本章节我们将为大家介绍 Git 的工作流程。一般工作流程如下:1.克隆 Git 资源作为工作目录。2.在克隆的资源上添加或修
- 本文实例讲述了CI操作cookie的方法。分享给大家供大家参考,具体如下:CI 操作cookie 有三种方法,2中Ci自带的,其
- 首先,需要获取任意知乎的问题,只需要你输入问题的ID,就可以获取相关的页面信息,比如最重要的合计有多少人回答问题。问题ID为如下标红数字编写
- 结合网上的资料,自己亲自的去安装了一次MySQL,安装版本是win7x64 5.7.16。在安装过程中出现并解决了如下问题:“mysql 服
- 在windows平台上使用pyhton编写语音识别程序需要用到speech模块,speech模块支持的主要功能有:文本合成语音,将键盘输入的
- 良好的编程习惯是每个程序员都应该具备的工作素质,在我的软件生涯中屡屡发现一些程序员的身上总有这样或者那样的坏毛病。这些毛病在一些从业时间不是
- 安装Apache1.安装yum -y install httpd2.开启apache服务systemctl start httpd.serv
- 前言近期在刷新生产环境数据库的时候,需要更新表中的字段,如果对每条数据结果都执行一次update语句,占用的数据库资源就会很多,而且速度慢。