从零开始学python:自学python的程序记录(其实就是把书上基本的程序实例敲出来)

 非常适合新手小白的python基础版学习!!!

 工具 :pycharm和anaconda

1.零数组 zero

#1 0数组的生成
import numpy as np
a=np.zeros(4)
print(a)

2.零矩阵 1矩阵 zero ones

​
# 2 0矩阵 1矩阵 2矩阵
import numpy as np
a=np.zeros((3,5))
b=np.ones((2,4))
c=b.sum()
d=2*b
print(a)
print(b)
print(c)
print(d)

3.数组标准化 array

# 3转化数组
import numpy as np
a=np.array([2.71,3.14,1000])
b=np.array([[2.71],[3.14],[1000]])
c=np.array([[2,3,5],[7,11,13]])
print(a)
print(b)
print(c)

4.设置起止与步进的数组arange

#4 生成数组
import numpy as np
a=np.arange(5)
b=np.arange(1,5)
c=np.arange(2.1,5.4,0.1)
print(a)
print(b)
print(c)

5.设置起止与步进的数组linspace

# 5生成 设置起止与步进的数组
import numpy as np
# a=np.arange(0,10,2)
# b=np.linspace(0,10,6)
# print(a)
# print(b)
x_min=0
x_max=10
deata_x=2
c=np.arange(x_min,x_max,deata_x)
print(c)

6.生成随机矩阵random

#6 生成随机矩阵
import numpy as np
a = np.random.randint(-9,3,(2,3)) #生成两行三列,大小为[-9,3)之间(左闭右开)的随机整数
print(a)

7.堆叠数组hstack、vstack

# 7堆叠数组
import numpy as np
a=np.zeros((2,3))
b=np.ones((2,3))
c=np.hstack([a,b])##将数组垂直堆叠起来
d=np.vstack([a,b])##将数组水平堆叠起来
print(a)
print(b)
print(c)
print(d)

8.数组中数据的替换

# 8数组中数据的替换
import numpy as np
A=np.array([2,3,4])
A[2]=100
print(A)
B=np.array([[2,3,4],[5,6,7]])
B[1,1]=100
print(B)

9.数组中数据的替换 A.copy

# 9数组中数据的替换
import numpy as np
f=2.5
g=f
A=np.zeros(3)
# B=A.copy()#(不相互影响)
B=A#(相互影响)
f=3.5
A[0]=1
B[1]=1
# print(f,g,A)
print(f,g,A,B)

10.取数组中部分a[ ]

#10取数组中部分
import numpy as np
a=np.arange(20)
print(a[3:15:2]) ##起3止15 步进2

11.计算数组的大小size

# 11计算数组的大小
import numpy as np
B=np.array([[2,3,4],[5,6,7]])
N=np.size(B)
print(B,N)

12.数组塑性(变换)np.reshape

# 12数组塑性
import numpy as np
a = np.arange(12)
b = np.reshape(a,(3,4))
print(a,b)

13.取数组中的某一部分[区别于10]

# 13取数组中的某一部分
import numpy as np
a=np.arange(11,21)
b=[2,3,4]
c=a[b]
print(a,b,c)

14.数据类型int、float、str

# 14数据类型
s='123'
x=int(s)+1
p='3.14159'
y=float(p)+2
y1=int(float(p))+2
z=int(float(p))+2
q=str(z)+'1'
print(x,y,y1,z,q)

15.输出字符串 数据类型 进制 format

# 15  输出字符串 数据类型 进制
import numpy as np
a="the value of pi is approximately  "+str(np.pi)
b="the value of {} is approximately {:.2f}".format('pi',np.pi)
s="{1:d} plus {0:d} is {2:d}".format(2,4,2+4)
q="every {2} has its {3}.".format('dog','day','rose','thorn')
r="the third element of the list is {0[2]:g}.".format(np.arange(10))
# print(a)
# print(b)  #{:5f} 保留小数点后5位小数
# print(s)  #{:d}十进制  {:b} {:o}  {:x} 二进制 八进制 十六进制
# print(q)
print(r)  #{0[2]:g}  第一个参数中的第三个元素  g代表通用格式

16.数据引用输出

## 16 数据引用输出
import numpy as np
a="the value of pi is approximately "+ str(np.pi)
b="the value of %s is approximate %.5f" %('pi',np.pi)
s="%d plus %d is %d"%(2,4,2+4)
print(a)
print(b)
print(s)

17.for 循环

# 17 循环1
import numpy as np
b,c=2,-1
for a in np.arange(-1,2,0.3):
    x=(-b+np.sqrt(b**2-4*a*c)/(2*a))
    print("a={:4f},x={:3f}".format(a,x))

18.for循环(书写位置决定循环输出次数)

# 18 书写位置决定循环输出次数
import numpy as np
b,c=2,-1
for a in np.arange(-1,2,0.3):
    x=(-b+np.sqrt(b**2-4*a*c)/(2*a))
print("a={:4f},x={:3f}".format(a,x))##不同

19.for 循环

# 19 循环2
for i in range(1,21):
    print(i,i**3)

20.循环3

 #20 循环3
import numpy as np
a,b,c=2,2,-1
while(b**2-4*a*c>=0):
    x=(-b+np.sqrt(b**2-4*a*c)/(2*a))
    print("a={:.4f},x={:.4f}".format(a,x))
    a=a-0.3
print("done!")

21.输出数组

#21 输出数组
import numpy as np
b,c =2,-1
a = np.arange(-1,2,0.3)
s=(-b+np.sqrt(b**2-4*a*c)/(2*a))
print(s)

22. 输出数组

#22输出数组
import numpy as np
x=np.arange(1,10)
a=2*x
b=x+2
c=x*x
d=x
print(a, b, c, d)

23.数组(矩阵)相乘dot

#23数组(矩阵)相乘
import numpy as np
a=np.array([1,2,3])
b=np.array([1,0.1,0.01])
x=a*b
y= np.dot(a,b) ##数量积
print(x,y)

24.数组求和sum

#24数组求和
import numpy as np
a=np.vstack((np.arange(20),np.arange(100,120)))
b=np.sum(a,0)  #B=a.sum(0)
c=np.sum(a,1)  #C=a.sum(1)
d=sum(a)       #D=a.sum()
print(a)
print(b)
print(c)
print(d)

25.分支

# 25.........................................#分支
import numpy as np
import matplotlib.pyplot as plt
for trial in range(5):
    userInput= input('pick a number')
    number = float(userInput)
    if number < 0:
        print('Square root is not real')
    else:
        print('Square root of {} is {:4f}'.format(number,np.sqrt(number)))
    userAgain = input('Another [y/n]?')
    if userAgain != 'y':
        break
# check whether the loop terminated normally
if trial ==4:
    print('sorry, only 5 per customer.')
elif userAgain =='n':
    print('Bye!')
else:
    print('sorry, I did not understand that.')

26.嵌套

#26........................................#嵌套 数组中值的替换
import numpy as np
rows =3
columns =4
A = np.zeros((rows,columns))
for i in range(rows):
    for k in range(columns):
        A[i,k] = i**2+k**3
print(A)

27.导入数据loadtxt、open、close

#27 导入数据
##1
import numpy as np
data_set = np.loadtxt("XXX.csv",delimiter=',')
##2
import numpy as np
my_file = open("XXX.csv")
temp_data=[]
for line in my_file:
    print(line)
    x,y = line.split(',')
    temp_data +=[(float(x),float(y))]
my_file.close()
data_set = np.array(temp_data)
print(data_set )

28.导出数据/保存TXT savetxt

##28导出数据/保存TXT
x=np.linspace(0,1,1001)
y=3*np.sin(x)**3-np.sin(x)
np.savetxt('x_value.dat',x)  #保存
#
y2=np.loadtxt('y_value.dat') ##导入

29.创建文本/打开文本/写入数据

# #29 创建文本/打开文本/写入数据
import numpy as np
my_file =open('power.txt','w') ##打开某某文件,没有的会自动新建  ##r读出 w写入 文件若不存在,自动创建
print("N\t\t2**N\t\t3**N")   ##\t 代表键入空格
print("---\t\t---\t\t\t---")
my_file.write("N\t\t2**N\t\t3**N\n")
my_file.write("---\t\t---\t\t---\n")
for N in range(11):
    print("{:d}\t\t{:d}\t\t{:d}".format(N,pow(2,N),pow(3,N)))
    my_file.write("{:d}\t\t{:d}\t\t{:d}\n".format(N,pow(2,N),pow(3,N)))
my_file.close()

30.画图2D(plot、scatter)

#30 画图2D
import  numpy as np
import  matplotlib.pyplot as plt
num_points =50
x_min, x_max =0 , 4
x_value = np.linspace (x_min,x_max,num_points)
y_value = x_value**2
plt.plot(x_value,y_value,'r--.') #r红色 g绿色 b蓝色 k黑色
plt.scatter(x_value,y_value) # 离散的点
plt.title("a picture",size=24,weight='bold')
plt.xlabel("speed")
plt.ylabel("kinetic energy")
plt.show()

31.画图3D(matplotlib.pyplot)

# 31 画图3D
import  numpy as np
import  matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import  Axes3D
fig = plt.figure()
ax = Axes3D(fig)
t = np.linspace(0,5*np.pi,501)
ax.plot(np.cos(t),np.sin(t),t)
plt.show()

32.多种绘图plt.plot(x,y1,'r',x,y2,'ko')

# 32 多重绘图
import  numpy as np
import  matplotlib.pyplot as plt
num_points =50
x_min, x_max =0 , 4
x = np.linspace (x_min,x_max,num_points)
y1 = x**2
y2 = x**3
plt.plot(x,y1,'r',x,y2,'ko')
plt.show()

33.子绘图

#33 子绘图
import  numpy as np
import  matplotlib.pyplot as plt
from numpy.random import random
t = np.linspace(0,1,101)
plt.figure()
# plt.subplot(2,2,1);plt.hist(np.random(20))#问题
plt.subplot(2,3,2);plt.plot(t,t**2,t,t**3)
# plt.subplot(2,2,3);plt.plot(np.random(20),np.random(20),'r*')#问题
plt.subplot(2,3,4);plt.plot(t*np.cos(10*t),t*np.sin(10*t))
plt.show()

34.定义函数

#34 定义函数
def taxicab (pointA,pointB):
    interval = abs(pointB[0]-pointA[0])+abs(pointB[1]-pointA[1])
    return interval
fare_rate= 0.5
start = (1,2)
stop = (4,5)
trip_cost = taxicab(start,stop)*fare_rate
print('trip_cost=',trip_cost)

35.平均数1

##35 平均值
def avg(a, b, c):
    he = a + b + c
    av = he / 3
    return av
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
c = int(input("请输入第三个数:"))
print("三个数的平均值是:%d" % avg(a, b, c))

36.平均数2

# 36  平均数
lst = [] #定义一个空列表
str = input("请输入数值,用空格隔开:")
lst1 = str.split(" ")#lst1用来存储输入的字符串,用空格分割
i = 0
while i <= len(lst1)+1:
    lst.append(int(lst1.pop()))#将lst1的数据转换为整型并赋值给lst
    i += 1
# print(lst)
def sum(list):# "对列表的数值求和"
    s = 0
    for x in list:
        s += x
    return s
def average(list):#"对列表数据求平均值"
    avg = 0
    avg = sum(list)/(len(list)*1.0) #调用sum函数求和
    return avg
print("avg = %f" %average(lst))

37.折线、散点、直方图绘制

#37 折线、散点、直方图绘制
from numpy.random import random as rng
import matplotlib.pyplot as plt
import numpy as np
s=rng(100)
j=np.arange(100)
# print(j)
k=0
for i in np.array(s):
    if i <0.5:
        k+=1
    elif i>0.5:
        k-=1
    else:
        k+=0
print(k)
# plt.plot(j, s) #折线
# plt.scatter(j,s) #散点
#
# plt.hist(s) #直方图
# plt.show()

 

 最近学的就这些了,都比较基础啦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值