寒假中期学习报告

寒假中期学习报告

寒假已经过半,在前三周我主要对python基础进行了学习,对于学习时间,前两周学的不是太多,由于放假回老家,以及过年,但是最后一周我认为,我学习的还是比较丰富的,基本每天都会学习5-7个小时而且最近的三天为了完成任务,也是几乎天天熬夜,平均每天150行代码。

学习收获的话首先是感觉,python是真的好用正如看教学视频时,所说这是一门追求完美的计算机语言,就比如说不用分号,打代码让人不是那么容易出错,也不会出现溢出,还有这e计法这种好用的计数方法,python有很多的内置函数,用起来真的很方便,   (Tab)缩进表示函数作用范围也是让人舒心 ,不用设置变量类型(只有名字),

try except 是真的好用。

   现在我对python的基础大致完成了学习,下一步准备对python的高级特性进行学习。

   寒假看书的话,我只看了一些关于攻防渗透的书,主要是有关于自己专业的,虽然也没怎么看懂。

   学习中遇到的问题:学习中会碰到一点对于我来说比较难的问题,

我只能通过百度,读博客来解决问题,虽然很繁琐,但是能让自己理解,掌握知识还是很舒服的,困难的话其实是赖床,打代码熬夜以至于,白天没精神,晚上精神好,精神好的时候才会愿意学习,导致昼夜颠倒,希望后4周能改正这个问题。学习建议的话还是多去搜索学习,看视频的话效率很低,我深有体验,2天看视频学的,没有看着笔记,自己百度半天学的多。

   寒假实践,如果有也是在家实践了,毕竟现在确实不敢出去,

重要的后4周 更多的学习,毕竟没有过年时那么多的事情,也要提高学习效率。

附录:

寒假中期学习笔记

字符串单引号或者双引号无区别

dir(__builtins__)
help(int)#  列举出函数

print('猜数游戏')
temp = input("请你猜一下我心中所想的那个数")
guess = int(temp)
if guess == 8:
    print("正确")
else:
    print('错误')
t='小'
print(t)
t='大'
print(t)
fec = 3
foc = 5
fac =foc+fec
print(fac)
voc = '狗仔'
vec = '狗贼'
vac =voc+vec
print(vac)
 

p=(3>1)
print(p)

 

 

guess=7
if(guess==8):
    print("猜对了")
    print("对了也没有奖励")
else:
    if(guess>8):
        print("大了,大了")
    if(guess<8):
        print("小了,小了")
print("游戏结束")

 

while 循环

i=3
while(i):
    i=i-1
    print('猜数游戏')
    temp = input("请你猜一下我心中所想的那个数")
    guess = int(temp)
    if(guess==20):
        print("猜对了")
        print("对了也没有奖励")
    else:
        if(guess>20):
            print("大了,大了")
        if(guess<20):
            print("小了,小了")
print("游戏结束")

 

 

 

and  并且随机数的引入

 

import random
s=random.randint(1,10)

 

 

 

c=2e15
print(c)
#e计法
a=True+True
print(a)
a=True+False
print(a)

 

 

 

数据类型转化

a='250'
b='520'
print(a+b)
c=int(a)
d=int(b)
print(c+d)

 

 

type()函数

a='520'
c=type(a)
print(c)

 

 

 

isinstance()函数

d=isinstance(a,str)
print(d)

 

 

try   except 前句错误后句不执行

except Exception as r

把错误赋值给  r 

 

try:
    # 不能确定正确执行的代码
    num = int(input('请输入一个数字:'))

except:
    print('请输入正确的整数')


print('*' * 50)

 

异常名称

描述

   

BaseException

所有异常的基类

SystemExit

解释器请求退出

KeyboardInterrupt

用户中断执行(通常是输入^C)

Exception

常规错误的基类

StopIteration

迭代器没有更多的值

GeneratorExit

生成器(generator)发生异常来通知退出

StandardError

所有的内建标准异常的基类

ArithmeticError

所有数值计算错误的基类

FloatingPointError

浮点计算错误

OverflowError

数值运算超出最大限制

ZeroDivisionError

除(或取模)零 (所有数据类型)

AssertionError

断言语句失败

AttributeError

对象没有这个属性

EOFError

没有内建输入,到达EOF 标记

EnvironmentError

操作系统错误的基类

IOError

输入/输出操作失败

OSError

操作系统错误

WindowsError

系统调用失败

ImportError

导入模块/对象失败

LookupError

无效数据查询的基类

IndexError

序列中没有此索引(index)

KeyError

映射中没有这个键

MemoryError

内存溢出错误(对于Python 解释器不是致命的)

NameError

未声明/初始化对象 (没有属性)

UnboundLocalError

访问未初始化的本地变量

ReferenceError

弱引用(Weak reference)试图访问已经垃圾回收了的对象

RuntimeError

一般的运行时错误

NotImplementedError

尚未实现的方法

SyntaxError

Python 语法错误

IndentationError

缩进错误

TabError

Tab 和空格混用

SystemError

一般的解释器系统错误

TypeError

对类型无效的操作

ValueError

传入无效的参数

UnicodeError

Unicode 相关的错误

UnicodeDecodeError

Unicode 解码时的错误

UnicodeEncodeError

Unicode 编码时错误

UnicodeTranslateError

Unicode 转换时错误

Warning

警告的基类

DeprecationWarning

关于被弃用的特征的警告

FutureWarning

关于构造将来语义会有改变的警告

OverflowWarning

旧的关于自动提升为长整型(long)的警告

PendingDeprecationWarning

关于特性将会被废弃的警告

RuntimeWarning

可疑的运行时行为(runtime behavior)的警告

SyntaxWarning

可疑的语法的警告

UserWarning

用户代码生成的警告

 

 

需要先定义的(这些都是小细节,平时都应该尽量避免,做好类似问题的收集)初始值

以及for….in 循环

 x=0
sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
    sum=sum+x
    print(sum)

 

 

 

字符串同理

names=['小鱼','大鱼','一定来','臭鸽子','咕咕咕','复读机']
sumstr=''
for name in names:
    sumstr=name+sumstr
print(sumstr)

 

数组

wali=[1,2]
print(wali[0])
print(wali[1])
sect=['100','gugugu']
print(sect[0],sect[1])

 

 

添加

print('测试List使用')
classmates=['Simon','Robert','Tom']
print(classmates[0],classmates[1],len(classmates))
classmates.append('mary')
print(len(classmates))
print(classmates[3])#append 添加到末尾

classmates.insert(1,'jack')#添加到指定位置的后面
print(len(classmates))
print(classmates[2])

print('测试List使用')
classmates=['Simon','Robert','Tom']
print(classmates[0],classmates[1],len(classmates))
classmates.append('mary')
print(len(classmates))
print(classmates[3])#append 添加到末尾
classmates.insert(1,'jack')
print(len(classmates))
print(classmates[2])
classmates.pop(2)
print(len(classmates))
print(classmates[2])
print(classmates)
classmates.insert(1,['ctm','leon'])
print(classmates)
print(classmates[1][1])# 二维

 

输入输出

weigh=str(input())
print(weigh)
weigh_2=str(input())
print(weigh_2)
print(weigh_2+weigh)

 

 

删除的是对应的数,而不是序号  ,并且会自动排序

 

dele={'mor' :60,'kali' :60}
print(dele['mor'])
s=set([7,5,4,3])
print(s)
s.add(2)
s.add(1)
print(s)
s.remove(6)#  错误原因
print(s)

 

正确的写法

s.remove(7)# 因为存在7
print(s)

sort()排序 replace()替换更改

a=['Simon','Mary','Tom']
a.sort()
print(a)
b='Python'
print(b.replace('P','p'),b)

 

 

 

内置函数

1 abs()  返回绝对值

2 all()判断列表list是否存在空或0返回值 为 true 或者false(bool)

3 any() 区别all()   该函数为不全为空或0则返回true  全为空或0时返回false

4 basestring() 判断类型是否匹配前后  匹配true 否则false

5 bin()返回二进制  int 或者long

6 bool()返回值为 true false 非零即真注意  bool 为int 的子类

7 bytearray() 

如果 source 为整数,则返回一个长度为 source 的初始化数

如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

如果没有输入任何参数,默认就是初始化数组为0个元素

8 Callable() 判断是否可调  (函数 方法等)true false

9 chr() 用一个范围在 range(256)内的(就是0~255)整数作cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1参数,返回一个对应的字符

10 cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

11 dict() 函数用于创建一个字典

12  divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)

13 enumerate() 函数用于将一个可遍历的数据对象

14 eval() 函数用来执行一个字符串表达式,并返回表达式的值

15 execfile() 函数可以用来执行一个文件

16 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

17 float() 函数用于将整数和字符串转换成浮点数

18 str.format(),它增强了字符串格式化的功能

19 frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素

20 getattr() 函数用于返回一个对象属性值 (,,)

21 globals() 函数会以字典类型返回当前位置的全部全局变量

22 hasattr() 函数用于判断对象是否包含对应的属性

23 help() 函数用于查看函数或模块用途的详细说明

24 hex() 函数用于将10进制整数转换成16进制,以字符串形式表示

25id() 函数用于获取对象的内存地址

26 input() 函数接受一个标准输入数据,返回为 string 类型

27 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()

isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。

28 issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类

29 len() 方法返回对象(字符、列表、元组等)长度或项

 

函数的定义和调用(切记  :tab缩进 )

def giao(a,b):
    return a+b
c=3
d=4
print(giao(c,d))

 

递归

def a(n):
    if n==1:
        return 1
    return n*a(n-1)
c=int(input())
print(a(c))

 

 

hello world  双引号和单引号都一样

print("hello world")
print('hello world')

 

数字求和

b=int(input('第二个'))
print(a+b)

 

#函数版

def cc(x,y):
   return x+y
a=int(input('第一个'))
b=int(input('第二个'))

 

平方根

a=int(input())
print(pow(a,0.5))

 

 

     

 

二次方程

a=int(input())
b=int(input())
c=int(input())
x_1=(-b)+pow(pow(b,2)-4*a*c,0.5)
x_2=(-b)-pow(pow(b,2)-4*a*c,0.5)
print(x_1/(2*a))
print(x_2/(2*a))

 

 

 

计算三角形面积

 

 

print('计算三角形面积')
a=int(input())
b=int(input())
c=int(input())
if a+b>c and a+c>b and c+b>a :
    d=(a+b+c)/2
    s=pow(d*(d-a)*(d-b)*(d-c),0.5)
    print(s)

 

计算圆的面积

 

pi=3.14
r=int(input('输入圆的半径'))
print(pi*r*r)

 

随机数

import random
s=random.randint(1,10)

    if(guess==s):
        print("猜对了")
        print("对了也没有奖励")
    else:
        if(guess>s):
            print("大了,大了")
        if(guess<s):
            print("小了,小了")
print("游戏结束")

 

 

摄氏度转化为华氏度

print("摄氏度转换成华氏度")
c=float(input('输入摄氏度'))
print(c/1.8+32)

 

交换变量

a=int(input('a='))
b=int(input('b='))
  有                                                                       a=b
b=c
print('a=',a)
print('b=',b)

                                                                                                                                       

判断正负

num=int(input())
if num>0 :
    print('该数是正数')
elif num<0:
    print('该数是负数')
else:
    print('该数是0')

 

判断字符串为数字

(当函数第一次遇到return 函数便会结束)

 

print('判断输入的字符串是否为数字(自定义函数)')
def eusx(s):
    try:
        float(s)
        return True
    except:
        pass
    try:
        import unicodedata
        unicodedata.normalize(s)
        return True
    except:
        pass
    return False
print(eusx('x'))   

 

 

 

判断是不闰年

new=int(input())
if (new % 4)==0 :
    if (new % 100) != 0:
        print('本年是闰年')
    elif new % 100 == 0 and new % 400 == 0:
        print('本年是闰年')
    else:
        print('本年不是闰年')
else:

posted on 2020-02-01 19:42  弱兽  阅读(196)  评论(0编辑  收藏  举报