脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 100 个 Python 小例子(练习题二)

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

2022-02-13 11:33野客 Python

这篇文章主要继续上一篇文章100 个 Python 小例子(练习题一)来完成100 个 Python 小例子,本文包括字母识词、反向输出II、表转字符串、设置输出颜色、算素数等例子,需要的朋友可以参考一下

实例031:字母识词

题目:

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

程序分析:这里用字典的形式直接将对照关系存好。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

题目:

按相反的顺序输出列表的值。

?
1
2
a = ['one', 'two', 'three']
print(a[::-1])

实例033:列表转字符串

题目:

按逗号分隔列表。

?
1
2
L = [1,2,3,4,5]
print(','.join(str(n) for n in L))

实例034:调用函数

题目:

练习函数调用。

?
1
2
3
4
5
6
7
8
def hello():
    print('Hello World!')
def helloAgain():
    for i in range(2):
        hello()
 
if __name__=='__main__':
    helloAgain()

实例035:设置输出颜色

题目:

文本颜色设置。

?
1
2
3
4
5
6
7
8
9
10
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)。

?
1
2
3
4
5
6
7
8
9
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。

?
1
2
3
4
5
6
7
8
9
10
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矩阵主对角线元素之和。

?
1
2
3
4
5
6
7
8
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:有序列表插入元素

题目:

有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

?
1
2
3
4
5
6
7
8
9
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方法。

?
1
2
3
4
5
6
7
8
9
10
11
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:类的方法与变量

题目:

模仿静态变量的用法。

程序分析:构造类,了解类的方法与变量。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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中的变量作用域。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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。

?
1
2
3
4
5
6
7
8
9
10
11
12
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 矩阵中对应位置的值,相加后放到新矩阵的对应位置中。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 之和。

?
1
2
3
4
res=0
for i in range(1,101):
    res+=i
print(res)

实例046:打破循环

题目:

求输入数字的平方,如果平方运算后小于 50 则退出。

?
1
2
3
4
5
6
7
8
9
10
11
while True:
    try:
        n=float(input('输入一个数字:'))
    except:
        print('输入错误')
        continue
    dn=n**2
    print('其平方为:',dn)
    if dn<50:
        print('平方小于50,退出')
        break

实例047:函数交换变量

题目:

两个变量值用函数互换。

?
1
2
3
4
5
6
def exc(a,b):
    return (b,a)
a=0
b=10
a,b=exc(a,b)
print(a,b)

实例048:数字比大小

题目:

数字比较。

?
1
2
3
4
5
6
7
8
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来创建匿名函数。

?
1
2
3
4
5
6
7
8
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 模块。

?
1
2
import random
print(random.uniform(10,20))

到此这篇关于100 个 Python 小例子的文章就介绍到这了,更多相关 Python 小例子内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://zhuanlan.zhihu.com/p/260175468

延伸 · 阅读

精彩推荐