【作业】python课-实验一

虽然这样的作业很无聊,但改写的还得写。

python课-实验一

01_lambda计算圆

if __name__ == '__main__':
    pi = 3.14
    f周长 = lambda x : 2 * pi * r
    f面积 = lambda x : pi * r * r

    r = 5
    周长 = f周长(r)
    面积 = f面积(r)
    print(f"周长:{
      
      周长:.2f},面积:{
      
      面积:.2f}")
周长:31.40,面积:78.50

02 with写入字符串

if __name__ == '__main__':
    with open("text.txt", 'w') as f:
        f.write("Hi python\n" * 1000)

文件text.txt

Hi python
Hi python
...(省略n行)

03 yield斐波拉契数列

def f(n: int):
    f1, f2 = 0, 1
    for i in range(n):
        yield f2
        f1, f2 = f2, f1 + f2

if __name__ == '__main__':
    fb = f(123456789)
    for i in range(123):
        print(fb.__next__())
        for j in range(12345678):
            j = j

会大概每两秒生成一个数字。

1
1
2
3
5
8
13

04 反转字符串

if __name__ == '__main__':
    s = 'abcdefg'
    # 1 反向输出
    print(s[::-1])
    #  2 隔两个字母反向geca
    print(s[::-2])
    # 3 try
    try:
        s[0] = '6'
    except Exception as e:
        print('-----')
    # 4 截取前三个字符
    print(s[:3])
    # 5 截取第二个到第四个字符
    print(s[1:4])


gfedcba
geca
-----
abc
bcd

05 列表切片

l = [1,'v',3,4,5,6,7]
s = l

# 1 反向输出
print(s[::-1])
#  2 隔两个字母反向geca
print(s[::-2])
# 3 try
try:
    s[0] = '6'
except Exception as e:
    print('-----')
# 4 截取前三个字符
print(s[:3])
# 5 截取第二个到第四个字符
print(s[1:4])
[7, 6, 5, 4, 3, 'v', 1]
[7, 5, 3, 1]
['6', 'v', 3]
['v', 3, 4]

06 numpy

import numpy as np 
import scipy as sp 

# 1 创建矩阵
x = np.array([[1,2],[3,4]])
print(x)

# 2 矩阵求逆
x_n = np.linalg.inv(x)
print(x_n)
[[1 2]
 [3 4]]
[[-2.   1. ]
 [ 1.5 -0.5]]

附录:题目

  1. 请用lambda表达式计算圆的周长和面积,设置半径为5

  2. 创建一个text.txt文档,用with关键字打开该文档,写入1000个‘Hi, Python’字符串

  3. 请用yield关键字创建生成器,调用该生成器的__next__()方法产生斐波拉西数列

  4. 字符串处理不能用循环语句:

S=’abcdefg’

A. 反向输出 gfedcba

B. 每隔2个字母反向输出 geca

C. 使用try关键字尝试改变第一个字符,如程序抛出错误,则try捕捉到该错误后,打印五个小横杠‘-----’

D. 截取前3个字符,构成字符串‘abc’

E. 截取第2个字符到第4个字符,即‘bcd’

  1. 检查第五题中的切片操作是否适用于列表数据类型,以如下列表作为实例

l=[1,’v’,3,4,5,6,7]

  1. 使用清华镜像,pip安装numpy, scipy两个包,并输入一个矩阵,第一行为1,2,第二行为3,4,求该矩阵的逆

猜你喜欢

转载自blog.csdn.net/m0_63238256/article/details/134091863