python编程题汇总

众所周知,由于疫情的原因,大家都在上网课,我也不例外啦~
用这个贴子来记录也和大家分享一下我们课上的编程讨论题
上篇在这→python课程编程题汇总(上)
下篇在这→python课程编程题汇总(下)

1、判断闰年

思考与练习
定义一个函数is_leap(year)函数,改函数可以判断year是否为闰年,若是闰年,则返回True,否则返回False。
闰年是公历中的名词,能被4整除但不能被100整除,或能被400整除的年份即为闰年。

def is_leap(year):if (year%4==0 and year%100!=0) or year%400==0:print("{}年是闰年".format(year))else:print("{}不是闰年".format(year))
year=eval(input("请输入一个年份:"))
is_leap(year)

2、求 ∑100

思考与练习
分别利用循环和递归方式求 ∑100 (求1到100的和)

def qiuhe(N):if N==1:return 1else:return N+qiuhe(N-1)
n=100
sum=qiuhe(n)
print("∑{}={}".format(n,sum))

3、元素分类

有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {‘k1’: 大于66的所有值列表, ‘k2’: 小于66的所有值列表}

li= [11,22,33,44,55,66,77,88,99,90]
Li={}
li1=[]
li2=[]
for i in li:if i>66:li1.append(i)else:li2.append(i)
Li["k1"]=li1
Li["k2"]=li2
print(Li)

4、输出商品列表

思考与练习
输出商品列表,用户输入序号,显示用户选中的商品
商品列表: goods = [{“name”: “电脑”, “price”: 1999}, {“name”: “鼠标”, “price”: 10}, {“name”: “游艇”, “price”: 20}, {“name”: “美女”, “price”: 998}, ]
要求:
1):页面显示 序号 + 商品名称 + 商品价格,如
1 电脑 1999
2 鼠标 10
2):用户输入选择的商品序号,然后打印商品名称及商品价格
3):如果用户输入的商品序号有误,则提示输入有误,并重新输入
4):用户输入Q或者q,退出程序

goods = [{"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}]
print("{:^4}{:^6}{:^6}".format("序号","商品名称","商品价格"))
for i in range(1,5):print("{:^4}{:^10}{:^10}".format(i,goods[i-1]['name'],goods[i-1]['price']))
N=input("请输入选择的商品序号:")
while(N):if N=='Q'or N=='q':breakn=eval(N)if type(n)!=int or n>4 or n<1 :print("输入有误,请重新输入")N=input("请输入选择的商品序号:")else:print("{:^4}{:^6}{:^6}".format("序号","商品名称","商品价格"))print("{:^4}{:^10}{:^10}".format(n,goods[n-1]['name'],goods[n-1]['price']))N=input("请输入选择的商品序号:")

5、变化随机列表

有一个列表,其中包括10个元素,这些元素是10-100之间随机数,要求将这个列表中的每一个元素一次向前移动一个位置,第一个元素移到列表的后面,要求移动2个元素,输出这样的列表。

import random as r
li=[]
for i in range(10):n=r.randint(10,100)li.append(n)
print(li)
def yidong(li):x=li.pop(0)li.append(x)
for i in range(2):yidong(li)
print(li)

6、华为机测题:”去重“

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作

import random as r
N=eval(input("N="))
li=[]
for i in range(N):n=r.randint(1,1000)li.append(n)
Li=list(set(li))
Li.sort()
print(Li)

7、随机生成卡号

随机生成100个卡号;卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),默认每个卡号的初始密码为"123456";
输出卡号和密码信息, 格式如下:
卡号 密码
6102009001 123456

kahao=[]
for i in range(6102009001,6102009101):zhanghao={}zhanghao["卡号"]=izhanghao["密码"]=123456kahao.append(zhanghao)
print("{:^10}{:^6}".format("卡号","密码"))
for i in kahao:print("{:^12}{:^8}".format(i["卡号"],i["密码"]))

优化版

"""
python字典fromkeys()函数用于创建一个新字典,
以序列seq中元素做字典的键,value为字典所有键对应的初始值。
格式如下:
dict.fromkeys(seq[,value])
"""
card=set()
for i in range(100):card.add("6102009%.3d"%i)
card_id={}.fromkeys(card,"123456")
print("卡号\t\t\t\t\t密码")
for i,j in card_id.items():print("{}\t\t\t{}".format(i,j))

8、员工工资统计

现将员工的工资修改为
salary1 = {‘腾讯公司张三’:5500,‘腾讯公司张超’:3800,‘微软公司王五’:5600,‘微软公司李四’:2000, ‘腾讯公司王小二’:3400,‘微软公司张强’:4500,‘微软公司王琼’:4500}
1).统计微软公司和腾讯公司各多少人
2). 统计微软公司姓王的平均工资
3). 统计微软公司和腾讯公司平均工资各多少
4). 把腾讯公司员工全部开除

salary1={'腾讯公司张三':5500,'腾讯公司张超':3800,'微软公司王五':5600,'微软公司李四':2000,'腾讯公司王小二':3400,'微软公司张强':4500,'微软公司王琼':4500}
salary=salary1.items()
tengxun=[]
weiruan=[]
for i in salary:  #i为元组类型print(i)if i[0][0]=='腾':tengxun.append(i)else:weiruan.append(i)def Q1(li):return len(li)def Q2(li):sum=0count=0for i in li:if i[0][4]=='王':sum=sum+i[1]count+=1aver=sum/countreturn averdef Q3(li):sum=0count=0for i in li:sum=sum+i[1]count+=1aver=sum/countreturn aver
print("微软公司有{}个人,腾讯公司有{}个人".format(Q1(weiruan),Q1(tengxun)))
print("微软公司姓王的平均工资为{}".format(Q2(weiruan)))
print("微软公司平均工资为{}元,腾讯公司平均工资为{}元".format(Q3(weiruan),Q3(tengxun)))
print("把腾讯公司员工全部开除后,如下\n{}".format(dict(weiruan)))

9、python源文件改写

编写一个程序,读取一个Python源程序文件,将文件中所有除保留字外的小写字母换成大写字母,生成后文件要能被Python解释器正确执行。

#程序
# -*- coding:utf-8 -*-
import jieba
import keyword
f=open("7.4(3).py","r",encoding="utf-8")
txt=f.read()
f.close()
f=open("7.4(3).py","w",encoding="utf-8")
s=jieba.lcut(txt)
pas=''
for i in range(len(s)):if keyword.iskeyword(s[i]):continueelse:s[i]=s[i].upper()pas = "".join(s)
f.write(pas)
f.close()
#需改写的源程序
s=0
l=[1,2,3,4,5]
for i in l:s+=i

10、turtle 库常用函数

turtle.forward(distance)
turtle.right(degree)
turtle.left(degree)
turtle.pendown()
turtle.goto(x,y)
turtle.penup()
turtle.circle()
说出turtle 库 这些函数的功能

1.向前行进
2.向右转
3.向左转
4.放下画笔
5.行进目标的绝对坐标
6.抬起画笔
7.根据半径r绘制extent角度的弧形

以上只是我个人解法和理解,如果有不同的想法欢迎大家一起讨论~
都看到这里了,给我点个赞呗~

python课程编程题汇总(中)相关推荐

  1. python课设代码_python课程编程题汇总(上)

    python编程题汇总 众所周知,由于疫情的原因,大家都在上网课,我也不例外啦~ 用这个贴子来记录也和大家分享一下我们课上的编程讨论题 中篇在此→python课程编程题汇总(中) 下篇在此→pytho ...

  2. python编程序人民币向美元转换_python课程编程题汇总(上)

    python编程题汇总 众所周知,由于疫情的原因,大家都在上网课,我也不例外啦~ 用这个贴子来记录也和大家分享一下我们课上的编程讨论题 1.货币转换 编写货币转换程序 描述: 人民币和美元是世界上通用 ...

  3. python经典编程题分别取个位十位百位

    python经典编程题分别取个位十位百位 问题描述: 对于输入的两个两位数正整数a.b,将a的十位和个位依次放到c的十位和千位,将b的十位和个位依次放到c的百位和个位上. 输入:a,b两个整数 输出: ...

  4. 技术类编程题汇总 C++ 刷题记录

    文章目录 腾讯2018春招技术类编程题汇总 1.翻转数列 2.纸牌游戏 3.贪吃的小Q 4.小Q的歌单 5.安排机器 6.画家小Q 腾讯2017秋招笔试编程题 1.编码 2.游戏任务标记 3.素数对 ...

  5. c语言分支编程改错题,二级C语言改错 二级C语言编程题 汇总整理篇.doc

    二级C语言改错 二级C语言编程题 汇总整理篇 360教育在线 宇创IT培训07年9月内部资料 内部资料,请勿公开传播 二.改错题 考试做题要求: 1.在/**********found******** ...

  6. c二级语言程序编程题,二级C语言编程题 汇总整理篇.doc

    二级C语言编程题 汇总整理篇 360教育在线 宇创IT培训07年9月内部资料 内部资料,请勿公开传播 三.编程题 考试做题要求: 1.按题目要求编写部分代码,不要改动已经有的代码. 2.在运行时如果遇 ...

  7. 美团点评2019年秋招部分编程题汇总 解题报告 Apare_xzc

    美团点评2019年秋招部分编程题汇总 企业独家授权 2020.8.7 Apare_xzc 网页链接:美团点评2019年秋招部分编程题汇总 1/7 [编程题] 图的遍历 给定一张包含N个点.N-1条边的 ...

  8. 滴滴出行2017秋招笔试真题-编程题汇总_Java实现

    滴滴出行2017秋招笔试真题-编程题汇总_Java实现 注:有的题参考别人的思路,用我最容易理解的代码编的程序,所以可以不能最优的解法,后续我会进行更新,只是一个思路,我的笔记而已,所以不喜勿喷~~~ ...

  9. python快速编程入门课后程序题答案-Python 入门编程题:1~10(答案)

    Python 入门编程题:1~10(答案) 提示:最好还是先思考,先编写,再看答案哦 ^_^ 1. for i in range(1, 5): for j in range(1,5): for k i ...

最新文章

  1. 2022-2028年中国车载摄像头行业市场前瞻与投资战略规划分析报告
  2. PAT Basic 1072
  3. 2014年最值得关注的六大趋势
  4. Science: 四万张大脑图像首次揭示人脑白质的基因基础
  5. WPF使用X:Static做多语言支持
  6. kaptcha 验证码在spring mvc 中的使用
  7. 【LTE】LTEMIMO系统的MATLAB仿真
  8. VTK:PolyData之InterpolateTerrain
  9. [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决
  10. OpenStack Gluon
  11. kafka报错与调试技巧
  12. P3345 [ZJOI2015]幻想乡战略游戏
  13. 输电线路巡检机器人PPT_“高空大师”来了!架空输电线路智能巡检机器人在宁波投运...
  14. 计算机联系函范文,致客户联络函
  15. java学习(86):Interage方法compareto,parseint,intvalue
  16. python中索引和下标_Series下标索引、标签索引、切片索引、布尔索引
  17. 西安电子科技计算机专业,2020西安电子科技大学计算机专业课改考
  18. 聊天机器人mysql数据_自己动手开发智能聊天机器人完全指南(附完整源码)
  19. 【原创】软件团队建设和管理--之我见
  20. 手机算通用计算机还是,通用盾是一种u盾。手机和电脑都可以用。问一...

热门文章

  1. bookxnote手机版_PDF电子书阅读器下载
  2. Educational Codeforces Round 132 (Rated for Div. 2) D. Rorororobot
  3. 帮助您成为知名游戏主播的3个技巧
  4. Vega prime
  5. 虚拟机中再安装虚拟化软件Xp以上
  6. java桑硅谷 day23 晨考
  7. 股票k线接口怎样进行查询?
  8. 《哈利波特与魔法石》英文版读书笔记:目光实体化
  9. SAP 如何批量扩充(复制)科目到其他子公司(T-CODE: FS15)?
  10. 网页自动添加qq好友