网络编程
位置:首页>> 网络编程>> Python编程>> 100 个 Python 小例子(练习题二)

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

作者:野客  发布时间:2021-02-09 10:15:31 

标签: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))

来源:https://zhuanlan.zhihu.com/p/260175468

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com