Python实验

实验三:循环语句

1、某公司2021年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?

year=2021
num=8
while num<= 20:
  num=num*(1+0.25)
  year+=1
print("到%d年达到20万"%year)
结果:
到2026年达到20万

2.请用户输入数字,直到输入 0 退出,最后求和

sum = 0 #定义和
b = 1 #定义输入的值
while b!=0:#循环条件,输入的值不为0
    b = float(input('请输入数字:'))#键盘输入值
    sum = sum + b#求和
print('输入的数字之和:%f' %sum)

结果:

请输入数字:5
请输入数字:4
请输入数字:3
请输入数字:0
输入的数字之和:12.000000

3.求 100-200 以内同时能被 7,8 整除的数

for i in range (1,7)#代表1到10,不包含7 

range:左开右闭

“==”相当与“等于”

for i in range(100,201):
 if i % 7 == 0 and i % 8 == 0:
  print(i)

结果:

112
168

4.输入班级学生语文成绩,求总成绩和平均成绩。班级人数从键盘输入 

range(start, stop, step)

参数名称说明备注
start计数起始位置整数参数,可省略。省略时默认从0开始计数
stop计位置终点数不可省略的整数参数。计数迭代的序列中不包含stop
step步长可省略的整数参数,默认时步长为1

 

 

 

 

round(x[,n])---------返回浮点数x的四舍五入的值,参数n指定保留的小数位数 

num = int(input('请输入班级人数:'))#定义班级人数
avge = 0#定义平均值
count = 0#定义总分数
for i in range(num):
    i = float(input('请输入学生语文成绩:'))#循环输入学生的成绩
    count += i #计算总分数:count=count+i
    avge = count / num #成绩平均值为总分数除以学生人数
print('班级语文总成绩为:', round(count,2))#对总数保留两位小数
print('班级平均语文成绩为:', round(avge,2))#对平均值保留两位小数

结果:

请输入班级人数:3
请输入学生语文成绩:76
请输入学生语文成绩:87
请输入学生语文成绩:98
班级语文总成绩为: 261.0
班级平均语文成绩为: 87.0

5.循环输入 7 天温度,求平均温度

cuma = 0 #定义温度总和
avga = 0 #定义平均值
for i in range(1,8): #输入温度循环7次
    i = float(input('请输入温度:'))#对输入的温度强制转换为浮点型
    cuma += 1 #求输入的温度总和
    avga = cuma/7#求温度的平均值
print('这七天的平均温度为',round(avga,2))

结果

请输入温度:34
请输入温度:23
请输入温度:21
请输入温度:32
请输入温度:43
请输入温度:23
请输入温度:23
这七天的平均温度为 1.0

 实验4:格式化字符

 1.在控制台依次提示用户输入:**姓名**、**公司**、**职位**、**电话**、**邮箱***按照以下格式输出∶

***************************************************************

公司名称

姓名(职位)

电话∶电话 

邮箱︰邮箱

注意类型!!!

#实验四 1
g=str(input('请输入公司名称:'))
x=str(input('请输入名字:'))
z=str(input('请输入职位:'))
d=int(input('请输入电话:'))
y=int(input('请输入邮箱:'))
print('公司名称:',g)
print('姓名:',x)
print('职位:',z)
print('电话:',d)
print('邮箱:',y)

 结果

请输入公司名称:有前途
请输入名字:有前途
请输入职位:总经理
请输入电话:110
请输入邮箱:2222
公司名称: 有前途
姓名: 有前途
职位: 总经理
电话: 110
邮箱: 2222

2.定义一个列表,在列表中添加新的元素

a=[1,2,3]
a.append(4)
print(a)

 结果

[1, 2, 3, 4]

 3.定义两个列表,将两个列表合并。

a=[1,2,3]
c=[4,5,6]
d=a+c
print(d)

 结果

[1, 2, 3, 4, 5, 6]

4.将已有列表倒序排列

a=[1,2,3]
b=[4,5,6]
c=[1,2,3,4,5,6]
a.reverse()
b.reverse()
c.reverse()
print(a)
print(b)
print(c)

 结果

[3, 2, 1]
[6, 5, 4]
[6, 5, 4, 3, 2, 1]

列表的操作

1.列表:元素赋值
x=[1,2,3,4,5,6]
x[1]=1(下标是“1”,类似数组:从0开始)
print(x)

结果:

[1, 1, 3, 4, 5, 6]

2.删除元素
names=['张','三','李','四']
del names[3]
print(names)

结果:

['张', '三', '李']

3.分片赋值
(1)分片赋值可以一次为多个元素赋值,可改变原来列表的长
y=[1,2,3,4,5]
y[4:]=[6,7,8,9]
print(y)

结果:

[1, 2, 3, 4, 6, 7, 8, 9]

(2)分片赋值可以在中间插入,相当于“替换”了空的分片
y[3:3]=['a','b','c']
print(y)

结果:(接上面的代码)

[1, 2, 3, 'a', 'b', 'c', 4, 6, 7, 8, 9]

(3)分片赋值也可以用来删除
y[4:6]=[]
print(y)
结果:(左闭右开)

[1, 2, 3, 'a', 4, 6, 7, 8, 9]

列表方法

1.append 在列表末尾追加新的对象

lst=[1,2,3]
lst.append(4)
print(lst)
结果:

[1, 2, 3, 4]


2.count 用于统计某个元素再列表中出现的次数

a=['to','be','to']
b=['to','be','to'].count('to')
print(b)

结果:

2


3.extend 在列表的末尾一次性追加另一个序列中的多个值

c=[1,2,3,4]
d=[5,6,7,8]
print(c+d) #c+d和这个方法的效果一样,但是用c+d没有改变c的长度和内容,用extend则改变了
#c[len(c):]=d
#print(c) 用分片赋值的方法也可以完成这个操作,而且也改变了c的内容
c.extend(d)
print(c)

结果:
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8]
4.index用于列表中找出某个元素的位置

1、f=['who','are','you']
print(f.index('who'))
print()

2、

f=['who','are','you']
print(f.index('are'))
print()

结果:

1、0---数组

2、1
5.insert 用于将对象插入到列表中

numbers=[1,2,3,4,5]
numbers.insert(3,'four')
print(numbers)
print()

结果:

[1, 2, 3, 'four', 4, 5]
6.pop 移除列表中的某的元素(默认最后一个),并返回其值--位置

n=[1,2,3,4,5,6,7]
print(n)
n.pop()
print(n)
n.pop(3)
print(n)
print()

结果:

[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 5, 6]
7.remove用于移除列表中的某个值的第一个匹配项

p=['to','be','be','a','good','man']
print(p)
p.remove('be')
print(p)
print()

结果:

['to', 'be', 'be', 'a', 'good', 'man']
['to', 'be', 'a', 'good', 'man']

8.reverse 将列表中的元素反向存放(不返回)

q=[1,2,3,4,5,6]
print(q)
q.reverse()
print(q)

结果:

[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
9.sort用于在原位置对列表进行排序

n=[1,4,3,5,7,8,0,3,5,4,6]
print(n)
n.sort()
print(n)

结果:

[1, 4, 3, 5, 7, 8, 0, 3, 5, 4, 6]
[0, 1, 3, 3, 4, 4, 5, 5, 6, 7, 8]
 

5.定义一个包含 10 个元素的元组,打印第 3-第 8 位元素。--左闭右开

a=(1,2,3,4,5,6,7,8,9,10)
print(a[2:8])

 结果

(3, 4, 5, 6, 7, 8)

6.创建一个字典(包含 10 个键值对,其中值要包含“元组,列表,字典”),循 环输出所有元素。

dict = {"tuple1":(1,2,3),"tuple2":(4,5,6),"tuple3":(7,8,9),
        'list1':[1,2,3],'list2':[4,5,6],'list3':[7,8,9],
        'name':{'lihua'},'age':{12},'address':{'gx'},'height':{'56kg'}}
for key in dict:
   print(key,dict[key])

结果

tuple1 (1, 2, 3)
tuple2 (4, 5, 6)
tuple3 (7, 8, 9)
list1 [1, 2, 3]
list2 [4, 5, 6]
list3 [7, 8, 9]
name {'lihua'}
age {12}
address {'gx'}
height {'56kg'}

7.九九乘法

a = 1
while a <= 9:
        b = 1
        while b <= a:
                print("%d * %d = %d" % (a,b,a*b), end=" ")
                b = b + 1
        print('')
        a = a + 1

 结果

1 * 1 = 1 
2 * 1 = 2 2 * 2 = 4 
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 

实验5:函数的使用

 

 1.定义一个函数,辨别两个输入数值的大小,并输出结果

2.定义一个函数,输入商品ID,打印商品信息,包括:商品名称,价格,生产商。

3.掷骰子(提示:骰子最大值 6,输入’Q’退出)

import random
a=random.randint(1,6)
def p():
  for i in range(1,7):
    x=input("请投掷一下骰子,试试运气,退出请输入Q:")
    if x=='Q':
        print("投掷结束")
        break
    else:
        print(f"掷得{a}点")
print(p())

结果

4.定义一个函数,求出指定列表中的最大值

5.定义一个函数,求学生最高分数

实验6:类的使用与异常练习

 

 1.创建一个用户类,属性包含:姓名,性别,电话号码,地址;定义一个函数用于打印用户信息;定义另一个函数,用于向用户输出友好的问候语。

class User(object):
    def __init__(self,name,gender,telephone,address):
        self.name=name
        self.gender=gender
        self.telephone =telephone
        self.address=address
    def firend(self):
        print("Hello, how are you?")
p=User("翠花","female sex",66666666666,"shanghai")
print(p.name)
print(p.gender)
print(p.telephone)
print(p.address)
p.firend()

结果

翠花
female sex
66666666666
shanghai
Hello, how are you?

 2.定义一个学生类

有下面的类属性:姓名 年龄 成绩(语文,数学,英语)[每课成绩的类型为整数]

类方法

1) 获取学生的姓名:get_name() 返回类型:str

  1. )获取学生的年龄:get_age() 返回类型:int
  2. )返回 3 门科目中最高的分数:get_course() 返回类型:int
class Student(object):
    def __init__(self,name,age,course):
        self.name=name
        self.age=age
        self.course=course
    def get_name(self):
        return str(self.name)
    def get_age(self):
        return int(self.age)
    def get_course(self):
        m=(self.course.values())
        return max(m)
p=Student("吉吉国王",12,{"语文":90,"数学":98,"英语":99})
print(p.get_name())
print(p.get_age())
print(p.get_course())

吉吉国王
12
99

3. 定义一个字典类:dictclass 完成下面的功能:

dict = dictclass({你需要操作的字典对象})

1) 删除某个 key

del_dict(key)

2 )判断某个键是否在字典里,如果存在则返回键对应的值,不存在则返回"not found"

get_dict(key)

3) 返回键组成的列表:返回类型;(list)

get_key()

class Dictclass(object):
    def __init__(self,dictclass):
        self.dictclass=dictclass
    def del_dict(self,key):
        if key in self.dictclass.keys():
            del self.dictclass[key]
            return self.dictclass
        return "不存在这个键,无需操作"
    def get_dict(self,key):
        if key in self.dictclass.keys():
            return self.dictclass[key]
        return 'not found'
    def get_key(self):
        return list(self.dictclass.keys())

dict=Dictclass({"语文":90,"数学":98,"英语":99})
print(dict.del_dict("语文"))
print(dict.get_dict("数学"))
print(dict.get_key())

结果

{'数学': 98, '英语': 99}
98
['数学', '英语']

4.编写一个计算减法的方法,当第一个数小于第二个数时,抛出“被减数不能小于减数" 的异常

 

pandas--练习题

 

JupyterLite Retro - Notebookicon-default.png?t=N3I4https://jupyter.org/try-jupyter/retro/notebooks/?path=notebooks/Intro.ipynb

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(3,3),columns=list('bcd'),index=['Ohio','Texas','Colorado'])
f = lambda x:x.max() - x.min()
frame.apply(f)

b 2.065997

c 2.889240

d 1.587271

dtype: float64

df=pd.DataFrame([[1,2],[3,4]],index=['a','b'],columns=['s1','s2'])
df

s1

s2

a

1

2

b

3

4

#series的创建方法
import pandas as pd
a = pd.Series([1,2,3,4,5])
b = pd.Series(range(4))
c = pd.Series(range(4),index=['a','b','c','d'])
d = {'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
#使用下标和切片对series进行访问
a = pd.Series([11,22,33,44,55])
a[1:3]

1 22

2 33

dtype: int64

a = pd.Series([1,2,3,4,5])
a

0 1

1 2

2 3

3 4

4 5

dtype: int64

#求平均值mean函数的调用方法
print(a.mean())

3.0

#series的数组间的运算
a=pd.Series([1,2,3,4])
b=pd.Series([1,2,1,2])
print(a+b)
print(a*2)
print(a>=3)
print(a[a>=3])

0 2

1 4

2 4

3 6

dtype: int64

0 2

1 4

2 6

3 8

dtype: int64

0 False

1 False

2 True

3 True

dtype: bool

2 3

3 4

dtype: int64

#series数据结构的索引创建方式,索引在series中称为index
a=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
a

a 1

b 2

c 3

d 4

e 5

dtype: int64

#series数据结构的重新,重新索引表示创建一个适应新索引的新对象,对series而言,
#在索引重排过程中,如果某个索引值当前不存在,会在索引值对应的值中加入缺失值
s1=pd.Series(['a','b','c','d','e'],index=[2,1,3,5,4])
s2=s1.reindex([1,2,3,4,5,6],fill_value=0)#添加一个值
s3=s2.reindex(range(10),method='bfill')#reindex重整索引;重建索引;
print(s1)
print(s2)
print(s3)

2 a

1 b

3 c

5 d

4 e

dtype: object

1 b

2 a

3 c

4 e

5 d

6 0

dtype: object

0 b

1 b

2 a

3 c

4 e

5 d

6 0

7 NaN

8 NaN

9 NaN

dtype: object

#使用字典创建DataFrame
import pandas as pd
d={'coll':[1,2],'col2':[3,4]}
a=pd.DataFrame(data=d)
a

coll

col2

0

1

3

1

2

4

#使用series创建DATa Frame
c={'one':pd.Series([1.,2.,3.],index=['a','b','c']),'two':pd.Series([1.,2.,3.,4.],index=['a','b','c','d'])}
e=pd.DataFrame(d)
d=pd.DataFrame(c,index=['d','b','a'])
print(c)
print(e)
print(d)

{'one': a 1.0

b 2.0

c 3.0

dtype: float64, 'two': a 1.0

b 2.0

c 3.0

d 4.0

dtype: float64}

coll col2

0 1 3

1 2 4

one two

d NaN 4.0

b 2.0 2.0

a 1.0 1.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值