python学习心得

分享学习心得:

首先明确静态语言与脚本语言区别:

静态:编译型,将源代码转化成目标代码的过程。

脚本:解释型,将源代码逐条转化成目标代码的过程

针对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:

  1. 一个斐波那契数列,其起始两项为01,此后的每一项为它的前两项之和,编写程序,构造斐波那契数列
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('写入完成!')

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值