Python基础知识
1. 介绍关于自己的一些详细信息
首先通过用户终端输入自己的学号、姓名、性别、出生日期、用户名、所修的课程和所选的教材等基本信息。
然后判断自己的出生年份是否为闰年、创建的用户名是否合法。
最后通过用户终端将所有信息和判断结果输出。
代码:
student = input("Please enter your student ID:") name = input("Please enter your name:") gender = input("Please enter your gender:") birthday = input("Please enter your birthday(2020/01/01):") username = str(input("Please enter your username:")) course = input("Please enter your course:") textbook = input("Please enter your textbook:") print("student ID:", student) print("name:", name) print("gender:", gender) print("birthday:", birthday) print("username:", username) print("course:", course) print("textbook:", textbook) year = int(birthday[:4:]) boolyear = (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0 if boolyear: print("出生年%d 是闰年" %year) else: print("出生年%d 不是闰年" %year) yingwen="abcdefghijklmnopqrstuvwxyz" xiahuaxian="_" shuzi="" if len(username) == 3: if username[0] in yingwen+xiahuaxian: if username[1] in yingwen+xiahuaxian+shuzi: if username[2] in yingwen+shuzi: print("用户名:%s 合法" % username) else: print("用户名:%s 不合法,第三个字符必须是小写字母或数字" % username) else: print("用户名:%s 不合法,第二个字符必须是小写字母或下划线或数字" % username) else: print("用户名:%s 不合法,第一个字符必须是小写字母或下划线" % username) else: print("用户名:%s 不合法,字符长度超出3" %username)
讯享网
注意:光会理论填空是不够的,在此送大家一套2020最新Python全栈实战视频教程,点击此处 免费获取一起进步哦!

讯享网
2. 内部竞聘
在公司内部竞聘中,候选人小明和小强竞聘部门副经理,考核的选项共有5项,分别是部门同事投票、去年业绩、年龄、在公司年份、竞聘演讲得分。评分规则如下:
- 部门同事投票,每一票得3分
- 业绩得分,每拿业绩,得一分
- 年龄,年龄每小一岁得2分
- 在公司年份,没长一年得5分
- 竞聘演讲,得分为实际演讲得分
各项得分如下:

代码:
讯享网sum1 = 0 sum2 = 0 piao1 = 11 piao2 = 7 ye1 = ye2 = age1 = 34 age2 = 27 year1 = 10 year2 = 4 score1 = 81 score2 = 83 sum1 = (piao1/1)*3 sum1 = int((ye1/))*1 + sum1 sum2 = (piao2/1)*3 sum2 = int((ye2/))*1 + sum2 if age1 < age2: sum1 = (age2 - age1) * 2 + sum1 else: sum2 = (age1 - age2) * 2 + sum2 if year1 > year2: sum1 = (year1 - year2) * 5 + sum1 else: sum2 = (year2 - year1) * 5 + sum2 sum1 = score1 + sum1 sum2 = score2 + sum2 print("小明得分:", sum1, "小强得分:", sum2)

3. 有四个字符串:
’ haPPy BiRthDAy To u’
‘Happy biRthDAy To you’
’ haPpy BirThdAy 2 deAr LiLi’
’ happy birthday 2 u’
可以看出这4个字符串连起来是一首歌,但不工整,并夹杂着很多口语,请将上述字符串修改为以下规范格式,并输出。
happy birthday to you
happy birthday to yoyou
happy birthday to dear lili
happy birthday to you
代码:
str1 = ' haPPy BiRthDAy To u' str2 = 'Happy biRthDAy To you' str3 = ' haPpy BirThdAy 2 deAr LiLi' str4 = ' happy birthday 2 u' str1 = str1.strip().lower().replace('u', 'you')+'\n' str2 = str2.strip().lower().replace('you', 'yoyou')+'\n' str3 = str3.strip().lower().replace('2', 'to')+'\n' str4 = str4.strip().lower().replace('2', 'to').replace('u', 'you')+'\n' print(str1+str2+str3+str4)

选择与循环
1. 使用循环遍历你的课程列表
(课程信息自拟,可以输入,也可以程序中固定好课程),找出包含“设计”字的课程,并输出。
讯享网wangxinlei = ["软件测试", "编译原理", "云计算基础设计", "大数据技术", "python开发基础"] wangxin=[] for i in wangxinlei: if '设计' in i: wangxin.append(i) print(wangxin)

2. 打印所有三位的水仙花数。
在数论中,水仙花数(narcissistic number)是指一个n位数,它的各个数位的数的n次方之和等于该数本身。例如:153是三位水仙花数,因为153 = 13 + 53 + 33。
wangxinlei =[] for i in range(100,1000): m = int(i / 100) n = int(i % 100 / 10) p = i % 100 % 10 if i == m * m * m + n * n * n + p * p * p: print(i) wangxinlei.append(i) print(wangxinlei)

3. 给定一个正整数,判断它是否是素数
讯享网n = int(input("其输入一个数字:")) flag = True if n <= 1: flag = False i = 2 while i*i <= n: if n % i == 0: flag = False i += 1 if flag == True: print(n, "是素数") else: print(n, "不是素数")

4. 循环玩一个猜数字游戏,猜计算机产生90-100
(或自拟区间,建议10个数以内便于猜测)之间的随机整数,直到猜中为止。
from random import randint i = 0 while 1: i =i +1 wangxinlei = int(input("请输入你要猜的数字:")) num = randint(90,100) print("产生随机数",num) if wangxinlei ==num: print("恭喜你!猜了", i, "次就猜出来了") break else: print("很遗憾,你猜错了!!")

Python序列的使用
1. 请输入4或多门课程信息
几个学生,及每门课程的成绩单,参考如下
实验时,数据自拟,不要用上面的数据,成绩单中要有你的两门课程,之后统计每个同学的成绩单,数据结果参考如下:
实验代码:
讯享网编译原理 = {
'王鑫垒':90, '刘达':95, '张三':89, '李四':70, '王五':60} ui设计= {
'王鑫垒':91, '刘达':94, '张三':85, '李四':78, '王五':66} 大数据 ={
'王鑫垒':92, '张三':80, '李四':72, '王五':90} python基础 ={
'王鑫垒':93, '刘达':90, '李四':70, '王五':61} students = ['王鑫垒', '刘达', '张三', '李四', '王五'] courses =['编译原理', 'ui设计', '大数据', 'python基础'] for student in students: lesson =[] for item in 编译原理.items(): if student==item[0]: lesson.append(('编译原理', item[1])) for item in ui设计.items(): if student==item[0]: lesson.append(('ui设计', item[1])) for item in 大数据.items(): if student==item[0]: lesson.append(('大数据', item[1])) for item in python基础.items(): if student==item[0]: lesson.append(('python基础', item[1])) print(student, '选修了', len(lesson), '门课程:') for i in lesson: print("\t", i[0], ':', i[1])

2. 统计任意你喜欢的一首现代诗、散文、课文节选
中英文歌曲的歌词等中出现的汉字或英文单词和标点的次数,例如诗经《桃夭》的统计结果如下:
代码:
url = input('请输入要统计的文章:') file = open(url, encoding="UTF-8") text = file.read() print(text) file.close() wangxinlei = list(text) 王鑫垒 = [] for i in wangxinlei: num = 0 for j in wangxinlei: if i==j: num = num + 1 if i in 王鑫垒: continue 王鑫垒.append(i) print(i, '出现', num, '次')

函数
1. 定义一个函数打印如图所示的三角形,行数由参数指定

讯享网def showSanjiao(n): for i in range(n): print(end=' '*(n-i)) print(end='* '*(i+1)) print('') wangxinlie = int(input('输入行数:')) showSanjiao(wangxinlie)

2. 使用函数计算任意start月~end月的平均访客量

def monthView(start, end): month = [200, 388, 123, 456, 987, 342, 767, 234, 124, 345, 123, 234] sum= 0 for i in range(start-1,end): sum=month[i]+sum return sum while 1: start=int(input("请输入开始月份:")) end=int(input("请输入截止月份:")) wangxinlie =monthView(start,end) print(start,"月~",end,"月,用户访问量为:",wangxinlie)

3. 使用可变长参数*parameter,接收任意几个月份,求这几个月份的平均访客数

讯享网def monthAvrView(*p): month = [200, 388, 123, 456, 987, 342, 767, 234, 124, 345, 123, 234] sum = 0 num = 0 doc ={
} for e in p: if e in [1,2,3,4,5,6,7,8,9,10,11,12]: sum =month[e-1]+sum num =num + 1 doc.update({
e:month[e-1]}) if num==0: print("没有这些月份。。。") return 0 else: avr = sum / num return doc,avr doc,avr=monthAvrView(1,2,3,5) print("每月访问量:",doc,"平均访问量:",avr)

4.使用可变长度的参数parameter,接收学生的个人信息,每个人的信息内容不一定相同,和学号对应存储,
函数声明如下:
def student_information(stunumber,stuinfo):
运行结果如下:
list={
} def student_information(stunumber,stuinfo): list.update({
stunumber:stuinfo}) student_information(,爱好="乒乓",籍贯='湖北',姓名='刘达') student_information(,籍贯="河北",姓名='刘达') student_information(,民族="苗",姓名='刘达') print(list) print(type("abc"))

面向对象
1. 创建狗类
数据成员包含但不限定于:品种、爱称、年龄、性别。
方法成员包含但不限定于:吃。
创建两个对象并调用方法进行测试。
定义一个列表,存储狗对象
定义一个不属于类的函数,在狗列表中查找某一品种的狗对象(如‘拉拉布拉多’等任意品种),并以列表的形式返回
对返回的列表进行遍历,并输出所有找到的狗的名字。
讯享网# 创建狗对象 class Dog(): def __init__(self, pinzhong=None, aicheng=None, age=None,sex=None): self.pinzhong=pinzhong self.aicheng=aicheng self.age=age self.sex=sex def eat(self): print(self.aicheng+"吃骨头") def print(self): return self.pinzhong,self.aicheng,self.age,self.sex # 按品种查找狗 def findByPinzhong(list,pinzhong): dogs=[] for i in list: if i.pinzhong==pinzhong: dogs.append(i) return dogs # 将狗狗名称输出 def showAichengByDogs(dogs): aichengs=[] for i in dogs: aichengs.append(i.aicheng) return aichengs # 主函数 if __name__ == '__main__': dog1 = Dog("拉拉布拉多", "小花", 2, "雌性") dog2 = Dog("哈士奇", "小苗", 1, "雄性") dog3 = Dog("哈士奇", "小白", 2, "雌性") list = [dog1, dog2, dog3] print('-'*20+'所有狗狗的信息'+'-'*20) for i in list: print(i.pinzhong,i.aicheng,i.age,i.sex) pinzhong=input("请输入要查找哪一品种的狗:") dogs=findByPinzhong(list,pinzhong) for i in showAichengByDogs(dogs): print(i)

2. 定义一“圆”Cirlcle类
圆心为“点”Point类,构造一圆,求圆的周长和面积,创建多个圆对象,并能统计创建圆对象的个数。能够判断某点与圆的关系。
import math class Cirlcle: def __init__(self, r=None, point=None): self.point=point self.r=r def zhouchang(self): return float(2*3.14*self.r) def mianji(self): return float(self.r*self.r*3.14) class Point: def __init__(self, x=None, y=None): self.x=x self.y=y def jisuand(p1,p2): return math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)) def guanxi(r,d): if r>d: print("点在圆内") elif r==d: print("点在圆上") elif r<d: print("点在圆外") if __name__ == '__main__': p1 = Point() p1.x = int(input("请输入圆的x坐标")) p1.y = int(input("请输入圆的y坐标")) r = int(input("请输入圆的半径")) c1 = Cirlcle(r,p1) print("圆的面积为:",c1.mianji()) print("圆的周长为:", c1.zhouchang()) p2 = Point() p2.x = int(input("请输入判断某点的x坐标")) p2.y = int(input("请输入判断某点的y坐标")) d = jisuand(c1.point,p2) guanxi(c1.r,d)

3. 玩家(攻击力)攻击敌人,敌人(血量)受伤后还可能死亡。
讯享网class enemy: def __init__(self, name, blood=0, attack=0): self.name=name self.blood=blood self.attack=attack @property def blood(self): return self.__blood @blood.setter def blood(self,blood): if 0<=blood<=100: self.__blood=blood else: raise Exception("血量数据超出范围!!") @property def attack(self): return self.__attack @attack.setter def attack(self, attack): if 1 <= attack <= 50: self.__attack = attack else: raise Exception("攻击力数据超出范围!!") en1= enemy("dada",10,50) print(en1.blood,en1.attack) en2=enemy("aada",101,51)

4. 张无忌教赵敏九阳神功
赵敏教张无忌化妆
张无忌上班挣了10000元
赵敏上班挣了8000元
class person: def __init__(self, name=None, skill=None, pay=None): self.name= name self.skill=skill self.pay=pay def teach(self,name): print(self.name+"教"+name+self.skill) def work(self): print(self.name+"上班挣了"+str(self.pay)+"元") p1 = person("张无忌","九阳神功",10000) p2 = person("赵敏","化妆",8000) p1.teach(p2.name) p2.teach(p1.name) p1.work() p2.work()

注意:最后送大家一套2020最新企业Pyhon项目实战视频教程,点击此处 免费获取一起进步哦!





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/116003.html