Python数据分析三剑客学习笔记Day1——python基础语法

本文是视频Python数据分析三剑客 数学建模基础 numpy、pandas、matplotlib的学习作业
————————————————————————————————————————————————————
语法比较基础,本人比较懒,就没有做笔记(主要是之前也学过python的基础语法)

文章目录

第一次课作业

>>后是输出结果,虽然和正常写法刚好相反,但我懒得改了QAQ

(1)python基础语法。

(1)下面两段代码输出的结果相同么?请解释原因。 ① x=4,y=5,print(x+y) ② x=‘4’,y=‘5’, print(x+y)

不一样,前者是int类相加,后者是字符串类相加

x=4
y=5
print(x+y)
>>9
x="4"
y="5"
print(x+y)
>>45

(2)‘10/3’,‘10//3’和’10%3’结果相同么?请说明原因。

不相同,/是除,//是整除(向下取整),%是取余

10/3
>>3.3333333333333335
10//3
>>3
10%3
>>1

(3)string1=‘I’m a student.’ 。print(string1)结果会报错么?如何修改string1使其得到正确的输出?

会,用不一样的引号类型间隔使用可避免报错

string1="I'm a student."
print(string1)
>>I'm a student.

(4) a = 3,str(a*3) + str(a)*3的输出是什么?

a = 3
str(a*3) + str(a)*3
>>'9333'

(5)my_string = ‘this is my string’, 如何查看这个字符串长度?

my_string = 'this is my string'
len(my_string)
>>17

(6)a,b = 4,5,a大于b 或 b大于等于5。请写出这里逻辑运算的代码,并查看输出会是什么。

a,b=4,5
a>b or b>=5
>>True

(7)’=‘和’=='分别表示什么含义?print(2 == 5)输出什么结果?属于什么类型数据?

=是赋值,==是判断相等,print(2 == 5)输出False,属于布尔型

(8)计算:100%(2+2)**3//5

100%(2+2)**3//5
>>7

(9)a,b = 4,5,a *= b,a=?

a=20,a*=b 等价于 a=ab=45=20

(10)int(3.14159)==float(3)会输出什么结果?为什么?type(int(3.14159))==type(float(3))的结果又是什么?

int(3.14159)==float(3)
>>True
#int(3.14159)==3,float(3)==3.0,python中认为两者数据相等
type(int(3.14159))==type(float(3))
>>False
#type(int(3.14159))==int,type(float(3))==float,两者数据类型不同

(2)列表,字典,集合

(1)L=[1,2,3,4,1,4,5,6],请完成:①删除列表中的重复元素并输出一个集合;②将7添加到集合中;③将集合转化为列表,删除元素3.

L=[1,2,3,4,1,4,5,6]
a=set(L)
>>[1, 2, 3, 4, 5, 6]
a.add(7)
>>[1, 2, 3, 4, 5, 6, 7]
a=list(a)
a.remove(3)
>>[1, 2, 4, 5, 6, 7]

(2)dog = [“tom”, “jack”, “Collie”, “Marry”], kitty = “Marry”, 如何判断 kitty 是否是 dog 中的一员?

dog = ["tom", "jack", "Collie", "Marry"]
kitty = "Marry"
for i in dog:
    if(i==kitty):
        print("kitty是dog的一员")
        
>>kitty是dog的一员

(3)dog = [“tom”, “jack”, “Collie”, “Marry”],将dog逆序。

dog = ["tom", "jack", "Collie", "Marry"]
dog.reverse()
print(dog)
>>['Marry', 'Collie', 'jack', 'tom']

(4)L=[“former”, “latter”, “starboard”],请完成:为L在末端添加一个元素“port”。

L=["former", "latter", "starboard"]
L.append("port")
L
>>['former', 'latter', 'starboard', 'port']

(5)L=[1,2,3,1,5,11,3,6,4,2,5,8,4,2],计算L的最值,和加和。

L=[1,2,3,1,5,11,3,6,4,2,5,8,4,2]
print(sum(L))
print(max(L))

>>57
  11

(6)cube:length:40,width:40,height:40, 请创建一个字典,包括cube的所有信息,并向字典中添加条目“color”和对应值"red",删除属性height,修改属性width为20.

cube={"length":40,"width":40,"height":40}
cube["color"]="red"
print(cube)
cube.pop("height")
cube['width']=20
print(cube)

>>{'length': 40, 'width': 40, 'height': 40, 'color': 'red'}
  {'length': 40, 'width': 20, 'color': 'red'}

(7)set_a = {1, 5, 10} set_b = {1, 10, 12} 找出set_a和set_b中共有的元素(交集)。

set_a = {1, 5, 10}
set_b = {1, 10, 12}
set_a&set_b

>>{1, 10}

(8)从1到10中选出所有的奇数。

[i for i in range(1,11) if i%2==1]
>>[1, 3, 5, 7, 9]

(9)将字典变为两个元素一一对应的列表,一个只含有关键字,另一个只含有值。 如:{‘a’: 1, ‘b’: 2}变为[‘a’, ‘b’], [1, 2]

dit={'a': 1, 'b': 2}
a=dit.keys()
print(a)
b=dit.values()
print(b)

>>dict_keys(['a', 'b'])
  dict_values([1, 2])

(3)条件判断,循环和函数

(1)L=[1,2,’’,‘my’,3,‘name’,‘is’,4,‘katty’],利用循环语句和判断条件,分别输出列表中的字符串和数字。

L=[1,2,'','my',3,'name','is',4,'katty']
for x in L:
    if(type(x)==int):
        print(x)
for x in L:
    if(type(x)==str):
        print(x)
        
>>1
  2
  3
  4

  my
  name
  is
  katty

(2)利用循环语句输出1到50中5的倍数,将其存放到一个列表中。

[i for i in range(1,51) if i%5==0]
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

(3)定义一个判断字符串的长度是否大于10的函数。

def judge(s):
    if(len(s)>10):
        pass
    else:
        pass
#懒得写分支了用pass替代(= A =)

(4)定义一个求解阶乘的函数。

def factorial(x):
    sum=1
    for i in range(1,x+1):
        sum *= i
    return sumprint(factorial(2))
>>2

(5)利用列表生成式,生成1-5的阶乘。

def factorial(x):
    sum=1
    for i in range(1,x+1):
        sum *= i
    return sum[factorial(i) for i in range(1,6)]
>>[1, 2, 6, 24, 120]

(6)利用函数和列表生成式,标记一个列表,奇数标记为1,偶数标记为2。 例如:[1,4,2,4,2,9,5],得到[1,2,2,2,2,1,1]

L=[1,4,2,4,2,9,5]
def f(x):
    if(x%2==0):
        return 2
    else:
        return 1
[f(i) for i in L]

>>[1, 2, 2, 2, 2, 1, 1]
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页