分享学习心得:
首先明确静态语言与脚本语言区别:
静态:编译型,将源代码转化成目标代码的过程。
脚本:解释型,将源代码逐条转化成目标代码的过程
针对python的输入以及输出
输入采用input函数
输出采用print函数
eg.print("输出内容")
若想一次输出多个内容且不换行,可在()内用,分隔。
一般来说,输出结束后,下方都会留有一行空行,这是由于其\n决定的,我们可以指定end参数坐标解决这个情况
eg. print(" ",end='-->')# -->
在输出时,还可以用加号连接两个运算符,只与字符串与字符串连接
输入函数:input
eg. age=input("内容")
age=int(age)#用int转换数据,强行将字符串型转变为int型
注释与单行注释
#单行注释
三单引号或者是三双引号为多行注释。
if-else 循环语句
if 条件:
else:
或者是
if 判断条件:
elif 条件:
else:
- 一个斐波那契数列,其起始两项为0和1,此后的每一项为它的前两项之和,编写程序,构造斐波那契数列
num = int(input('请输入第几项:'))
a = 0
b = 1
count = 2
if num == 1:
print(f'斐波那契数列:{a}')
elif num == 2:
print(f'斐波那契数列:{a},{b}')
else:
print(f'斐波那契数列:{a},{b}', end=",")
while count <= num:
c = a + b
print(c, end=" ")
a,b = b,c
count += 1
强行转换:
eg.f=float(f)
取整:
向下取整:int()
向上取整:math.ceil()#若用math模块应当线将math模块导入python文件即 import math。
四舍五入:round()
#针对这个四舍五入,存在个别问题,他遵循的原则属于如果整数为偶数,那么后面小数部门为5时则会舍去,如果为奇数则会进一,其他的则是正常情况下四舍五入。
a=input("请输入:")
aa=a
a=float(a)
if a==int(a)+0.5:
a=a-1
print(round(a)+1)
else:
print(round(a))
#如果直接使用print(round(a))如果整数部分为偶数,无法进行5入操作
"""
import decimal as ff
from decimal import Decimal as ff
ff(aa).quantize(ff('0.'), rounding=ff.ROUND_HALF_UP)
"""
#法2
b=input("请输入:")
b=float(b)
import math
c=math.floor(b)
d=b-c
if d>=0.5:
print(c+1)
else:
print(c)
#法3
e=input("请输入:")
e=float(e)
f=math.floor(e)
g=math.ceil(e)
if e>=f+0.5:
print(g)
else:
print(f)
暂时用了这几个方法实现四舍五入。
math.round(?,0)0表示参数对应哪位则对该上一位四舍五入
随机数板块:random
def aa():
a = random.randint(0, 10000)
b=input("I'm thinking of a number! Try to guess the number I'm thinking of:")
b=int(float(b))
for i in range(2):
if a!=b:
if a<=b:
print("Too low!Guess again:")
else:
print("Too high!Guess again")
c=input()
c=int(float(c))
b=c
else:
print("恭喜你猜对了")
break
aa()
aa1=input("That's it! Would you like to play again? (yes/no)")
while aa1=="yes":
aa()
if(aa1=="no"):
print("Thanks for playing!")
def 函数名()为定义python函数的方法。
for循环采取的语法结构与为:
for 变量名 in 可迭代对象#主要用于知道循环几次的循环,而条件循环主要使用switch语句。
range(4)指的是循环四次分别为{0,1,2,3}
利用for和while打印九九乘法表
打印杨辉三角:
def yanghui(n):
chushi = [[1]]
for i in range(1, n):
row = chushi[-1]
new_row = [1]
for j in range(1, i):
new_row.append(row[j-1] + row[j])
new_row.append(1)
chushi.append(new_row)
for q in range(n):
s = ' ' * (n - q - 1)
row_str = s + ' '.join(map(str, chushi[q]))
print(row_str)
n = int(input("请输入打印几行: "))
yanghui(n)
列表:
法1:(1)list=[1,2,3]
法2:(2)list=list()
range(start,end,step)step指的是相邻两个数的差
列表添加元素:
append(obj)向列表末尾添加元素obj
extend(sep)在末尾加多个值,用extend函数,sep为一个可迭代对象。
insert(index,obj)将元素加在index位置上。
删除元素:
pop(index=-1)删除index处元素,并返回该元素的值
remove(obj)删除第一个出现的obj元素。
clear()删除所有元素
查找元素位置:
index(obj,start 0,end -1)
排序:
sort(reverse=Ture)从小到大排序
sort()从小到大
元素反转:
reverse()
统计个数:
count(?)?为要统计的哪个的个数
heapy模块中的nlargest(几个数,列表)#统计最大的几个数
查找列表中最长的单词链
max(list,key=len,default=”“)
year=int(input("请输入年份"))
month=int(input("请输入月份"))
day=int(input("请输入日"))
countday=day
rz=[31,31,30,31,30,31,31,30,31,30,31]
if year % 4 == 0 and year % 100 !=0 or year % 400 == 0:
rz.insert(1,29)
print("本年为闰年")
else:
rz.insert(1,28)
print("本年为平年")
for i in range (month-1):
countday=countday+rz[i]
print(f'{year}年{month}月{day}日是当年的第{countday}天')
继承
默认继承方式为object
如果要查看继承顺序,可用
print(?.mro)
使用继承范例:
class Shape:
def __init__(self):
pass
def area(self):
pass
def perimeter(self):
pass
class Square(Shape):
def __init__(self, length):
self.length = length
def area(self):
return self.length ** 2
def perimeter(self):
return self.length * 4
class Trapezoid(Shape):
def __init__(self, base1, base2, height, side1, side2):
self.base1 = base1
self.base2 = base2
self.height = height
self.side1 = side1
self.side2 = side2
def area(self):
return ((self.base1 + self.base2) / 2) * self.height
def perimeter(self):
return self.base1 + self.base2 + self.side1 + self.side2
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * (self.radius ** 2)
def perimeter(self):
return 2 * 3.14 * self.radius
s = Square(5)
print("正方形的面积为:", s.area())
print("正方形的周长为:", s.perimeter())
t= Trapezoid(5, 10, 8, 3, 4)
print("梯形的面积为:", t.area())
print("梯形的周长为:", t.perimeter())
c = Circle(7)
print("圆的面积为:", c.area())
print("圆的周长为:", c.perimeter())
该代码实现了
编写一个形状类,定义构造函数、计算面积方法,计算周长方法。编写正方形类、梯形类,圆类继承形状类并在子类实现父类的方法
打开文件:
file=open('D:/abc.txt','r',encoding="UTF-8")
手动关闭可以采用file.close()方式
结束后自动关闭可用with open('D:/abc.txt','r',encoding="UTF-8")as f
2. 打开一个txt文件,向文件中写入100以内的素数
from math import sqrt
def is_prime(n):
for factor in range(2, int(sqrt(n)) + 1):
if n % factor == 0:
return False
return True
with open('prime.txt', 'w') as f:
for num in range(2, 100):
if is_prime(num):
f.write(str(num) + '\n')
print('写入完成!')