Python基础和常用数据结构

注:以下程序使用Jupyter Notebook平台在Python3.8环境下运行

Python常用基础

1.运用输入输出函数编写程序,将华氏温度转换成摄氏温度。换算公式:C=(F-32)*5/9,其中C为摄氏温度,F为华氏温度。

实验代码:

F = float(input("华氏温度:"))
C = (F-32)*5/9
print("摄氏温度:","%.2f"% C)

实验截图
在这里插入图片描述

2.编写程序,根据输入的长和宽,计算矩形的面积并输出。

实验代码:

a = int(input("矩形的长:"))
b = int(input("矩形的宽:"))
c = a*b
print("矩形面积为:{}".format(c))

实验截图:
在这里插入图片描述

3.编写程序,输入三个学生的成绩计算平均分并输出。

实验代码:

a = int(input("请输入第一位学生的成绩:"))
b = int(input("请输入第二位学生的成绩:"))
c = int(input("请输入第三位学生的成绩:"))
sum = a + b + c
avg = sum / 3
print("平均成绩为:",avg)

实验截图:
在这里插入图片描述

4.根据以下叙述写出正确的条件表达式: 有语文(Chinese)、数学(Math)、英语(English)三门课程,均采用百分制,60分及以上为及格,90分及以上为优秀。 ① 三门课程都及格。 ② 至少一门课程及格。 ③ 语文及格且数学或者英语优秀。

实验代码:

c = int(input('请输入语文成绩:'))
x = int(input('请输入数学成绩:'))
e = int(input('请输入英语成绩:'))
if 60 <= c <= 100 and 60 <= x <= 100 and 60 <= e <= 100:
    print("三门功课都及格!")
if 60 <= c <= 100 or 60 <= x <= 100 or 60 <= e <= 100:
    print("至少一门功课及格!")
if 60 <= c <= 100 and x >= 90 or e >= 90:
    print("语文及格且数学或者英语优秀!")

实验截图:
在这里插入图片描述

常用数据结构

1. 从键盘输入一个正整数列表,以-1结束,分别计算列表中奇数和偶数的和。

实验代码:

n = int(input("请输入一个正整数:"))
list3 = []
while n != -1:
    list3.append(n)
    n = int(input("请输入一个正整数:"))
else:
    print("输入结束")
print(list3)

list1 = []
list2 = []
for i in list3:
    if i % 2 != 0 :
        list1.append(i)
    else:
        list2.append(i)
print("列表中的奇数和为:",sum(list1))
print("列表中的偶数和为:",sum(list2))

实验截图:
在这里插入图片描述

2. 已知10个学生的成绩为68、75、32,99、78、45、88、72,83、78,请将成绩存放在列表中,请对其进行统计,输出优(100~90)、良(89~80)、中(79~60)、差(59~0)4个等级的人数。

实验代码:

grade = int(input("请输入学生成绩:"))
list_grade = []
while grade > 0:
    list_grade.append(grade)
    grade = int(input("请输入学生成绩:"))
else:
    print("成绩输入结束,现在开始统计和输出。")
print("总成绩列表为:",list_grade)
list1=[]
list2=[]
list3=[]
list4=[]
for i in list_grade:
    if i >=90:
        list1.append(i)
    elif i>=80:
        list2.append(i)
    elif i>=60:
        list3.append(i)
    else:
        list4.append(i)
print("优:",len(list1),"良:",len(list2),"中:",len(list3),"差:",len(list4))

实验截图:
在这里插入图片描述

3. 利用while循环创建一个包含10个奇数的列表,如果输入的不是奇数要给出提示信息并能继续输入,然后计算该列表的和与平均值。

实验代码:

n = int(input("请输入奇数:"))
list1=[]
while len(list1) <= 10:
    if n %2 != 0:
        list1.append(n)
    else:
        print("输入错误,请重新输入。")
    n = int(input("请输入奇数:"))
print("列表的和为:",sum(list1),"列表的平均值为:",sum(list1)/len(list1),list1)

实验截图:
在这里插入图片描述

4.请用字典编程,已知某班学生的姓名和成绩如下:

姓名 成绩 姓名 成绩
张三 45 司音 90
李四 78 赵敏 78
徐来 40 张旭宁 99
沙思思 96 柏龙 60
如一 65 思琪 87

输出这个班的学生姓名和成绩,并求出全班同学的人数和平均分并显示。

实验代码:

stud = {"张三": 45, "李四": 78, \
             "徐来": 40,"沙思思": 96,  \
             "如一": 65, "司音": 90,  \
             "赵敏": 78, "张旭宁": 99, \
             "柏龙": 60, "思琪": 87}
print("姓名和成绩:")
for key in stud.keys():
        print(key,stud[key])
ss = len(stud)
avrscore = sum(stud.values())/ss
print("全班共有",ss,"人,平均成绩为:",avrscore,"分。")

实验截图:
在这里插入图片描述

5.某家商店根据客户消费总额的不同将客户分为不同的类型。 如果消费总额≥10万元,为铂金卡客户(platinm);如果消费总额≥5万元且<10万元,为金卡客户(gold);如果消费总额≥3万元且<5万元,为银卡客户(silver);如果消费总额<3万元,为普卡客户(ordinary)。现有一批顾客的消费金额(单位 ;万元)分别为2.3、4.5、24、17、1、7.8、.39、3、21、0.5、1.2、4、1、0.3.将消费金额存储在列表listl中,输出一个字典,分别以platinum、gold、silver、ordinary 为键,以各客户类型人数为值。

实验代码:

#coding=utf-8
list=[2.3,4.5,24,17,1,7.8,39,21,0.5,1.2,4,1,0.3]
s1,s2,s3,s4=0,0,0,0
dict={}
for i in list:
    if i>=10:
        s1+=1
    elif i>=5:
        s2+=1
    elif i>=3:
        s3+=1
    else:
        s4+=1      
dict['platinum']=s1
dict['gold']=s2
dict['silver']=s3
dict['ordinary']=s4
print(dict)

实验截图:
在这里插入图片描述

6.某企业为职工发放奖金: 如果入职超过5年,且销售业绩超过15 000 元的员工,奖金比例为0.2;销售业绩超过10 000元的员工,奖金比例为0. 15;销售业绩超过5000元员工,奖金比例为0.1;其他奖金比例为0.05.如果是人职不超过5年,且销售业绩超过4000的员工,奖金比例为0.045,否则为0.01.输人人职年限销售业绩,输出奖金比例、奖金,并将奖金在放到列表中并输出该列表,入职年限(为整数)输人一1的时候结束输人,为了简化所有输人均假定正确,不需判断小于0的情况。奖金为销售业绩与奖金比例的乘积。

实验代码:

#coding=utf-8
#变量说明:bonus奖金  n入职年限  sales销售业绩  ratio奖金比例
list=[]
n=int(input("请输入入职年限:"))
while n!=-1:
    sales=float(input("请输入销售业绩:"))
    if n>5:
        if sales>15000:
            ratio=0.2
        elif sales>10000:
            ratio=0.15
        elif sales>5000:
            ratio=0.1
        else:
            ratio=0.05
    else:
        if sales>4000:
            ratio=0.045
        else:
            ratio=0.01
    bonus=sales*ratio
    print("您的奖金比例:",ratio,"您的奖金:",bonus)
    list.append(bonus)
    n=int(input("请输入入职年限:"))
print("奖金列表为:",list)

实验截图:
在这里插入图片描述

7. 输入5个整数放到列表list1中,输出下标及值,然后将列表list1中大于平均值的元素组成一个新列表list2,输出平均值和列表list2。请利用列表推导式解决该问题。

实验代码:

print("请输入五个整数")
list1 = []
for i in range(5):
    n = int(input("请输入第"+str(i+1)+"个:"))
    list1.append(n)
avg = sum(list1)/len(list1)
list2 = [i for i in list1 if i > avg]
print("平均值为:",avg," list2为:",list2)

实验截图:
在这里插入图片描述

8. 编写程序,将由1、2、3、4这4个数字组成的每位数都不相同的所有三位数存入一个列表中并输出该列表。请利用列表推导式解决该问题。

实验代码:

a = [1,2,3,4]
b = [i*100 + j*10 + x for i in a for j in a for x in a if i!= j and i!= x and j!= x ]
print(b)

实验截图:
在这里插入图片描述

9. 编写程序,给定列表[1,9,8,7,6,5,13,3,2,1],先输出原列表,删除其中所有奇数后再输出。请利用列表推导式解决该问题。

实验代码:

a = [1,9,8,7,6,5,13,3,2,1]
b = [i for i in a if i %2 == 0]
print('原列表:',a)
print(b)

实验截图:
在这里插入图片描述

10. 百钱买百鸡:一只公鸡5元钱,一只母鸡3元钱,三只小鸡1元钱,现在要用100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?请利用列表推导式解决该问题。

实验代码:

list1 = [(a,b,c) for a in range(0,101) for b in range(0,101) for c in range(0,101) if 5*a + 3*b + c/3 ==100 and a + b + c ==100]
print(list1)

实验截图:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值