Python程序设计基础(第七章列表和元组 练习记录)

继续之前的练习
本章开始(其实上一章就有了)有大量习题需要使用从本书的推荐网址中下载资源(www.pearsonhighered.com/gaddis),笔者能力有限暂时没找到,对于这类题将会选择忽略。介于这一点,对此书的好感度降为0。

本章介绍Python中序列的概念,探讨两种常见Python序列——列表和元组的使用,学习使用列表进行类似数组的操作,例如在列表中存储对象,遍历列表、搜索列表中的元素以及计算列表中元素的总和和平均值。本章还讨论了列表解析表达式、切片和许多列表方法,涉及一维和二维列表。本章还包括对matplotlib包的讨论,以及如何使用它根据列表绘制图表。

#1销售总额
def main():
    account=[]
    for i in range(7):
        print("Please enter the sales volume for Day",i+1,":",end='')
        account.append(float(input()))
    total=0
    for i in account:
        total+=i
    print("The total sales volume for one week is",total)
if __name__=="__main__":
    main()
#2彩票号码生成器
import random
def main():
    nums=[]
    for i in range(7):
        nums.append(random.randint(0,9))
    for i in nums:
        print(i)
if __name__=="__main__":
    main()
#3雨量统计
def main():
    rain=[]
    total=0
    for i in range(12):
        print("Please enter Month",i+1,"'s rainfall:",end='')
        rain.append(float(input()))
        total+=rain[i]
    print("The total rainfall is",total)
    print("The average rainfall is",f'{total/12:.2f}')
    print("The max rainfall among 12 months is",max(rain))
    print("The min rainfall among 12 months is",min(rain))
if __name__=="__main__":
    main()
#4数字分析程序
def main():
    nums=[]
    total=0
    for i in range(20):
        print("Please enter No.",i+1,"number:",end='')
        nums.append(float(input()))
        total+=nums[i]
    print("The min number among list is", min(nums))
    print("The max number among list is",max(nums))
    print("The sum of list is",total)
    print("The average of list is",f'{total/20:.2f}')
if __name__=="__main__":
    main()
#6比n大
def function(nums,n):
    nums_=[i for i in nums if i>n]
    print(nums_)
def main():
    nums=[1,2,3,4,5,6,7,8,9,0]
    n=5
    function(nums,n)
if __name__=="__main__":
    main()
#7驾照考试
def main():
    #1-A 2-B 3-C 4-D
    answer=['O',
            'A','C','A','A','D',
            'B','C','A','C','B',
            'A','D','C','A','D',
            'C','B','B','D','A']
    file=open('student.txt','r')
    print("Has read student's file")
    i=0;yes=no=0
    wrong=[]
    for line in file:
        if line=='\n':
            break
        i+=1
        s=line.rstrip('\n')
        print(i)
        if s==answer[i]:
            yes+=1
        else:
            wrong.append(i)
            no+=1
    if yes>=15:
        print("This student passed")
    else:
        print("This student failed")
    print("The number of correct questions:",yes)
    print("The number of wrong questions:",no,"including",wrong)
if __name__=="__main__":
    main()
#11罗素幻方
def judge(nums):
    diagonal=nums[0][0]+nums[1][1]+nums[2][2]
    diagonal_=nums[0][2]+nums[1][1]+nums[2][0]
    if diagonal!=diagonal_:
        return False
    for i in range(3):
        sum_=0
        for j in range(3):
            sum_+=nums[i][j]
        if sum_!=diagonal:
            return False
    for i in range(3):
        sum_=0
        for j in range(3):
            sum_+=nums[j][i]
        if sum_!=diagonal:
            return False
    return True
def main():
    print("Please enter the 3*3 matrix:")
    nums=[]
    for i in range(3):
        num=[]
        for j in range(3):
            print("The",i+1,"x",j+1,"is",end='')
            x=int(input())
            num.append(x)
        nums.append(num)
    if judge(nums):
        print("This is")
    else:
        print("This isn't")
if __name__=="__main__":
    main()
#12素数生成
def function(x):
    if x==2:   return True
    if x<2:    return False
    if x%2==0:return False
    i=3
    while i*i<=x:
        if x%i==0:  return False
        i+=2
    return True
def main():
    n=int(input("Please enter a number:"))
    nums=[i for i in range(2,n+1)]
    for i in nums:
        if function(i):
            print(i,"is prime number.")
        else:
            print(i,"is resultant number.")
if __name__=="__main__":
    main()
#14支出饼图
import matplotlib.pyplot as plot
def main():
    tags=[]
    cost=[]
    file=open("expenditure.txt",'r')
    line=file.readline()
    while line!='' and line!='\n':
        tags.append(line.rstrip('\n'))
        if line != '' and line != '\n':
            line=file.readline()
            cost.append(float(line.rstrip('\n')))
            line=file.readline()
    plot.pie(cost,labels=tags)
    plot.title("The cost for one month")
    plot.show()
if __name__=="__main__":
    main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值