新闻动态

100 个 Python 小例子(练习题二)

发布日期:2021-12-22 16:01 | 文章来源:站长之家

实例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 小例子内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部