首页 > 编程语言 >BIG T 下学期选修_python作业

BIG T 下学期选修_python作业

时间:2022-11-16 10:31:39浏览次数:46  
标签:Set name python BIG self random str 下学期 print


一共提交了10次作业


3.1:

import random
b_Set=[]
c_Set=[]
i=1000
while(i):
b_Set.append(random.randint(0,10000))
i=i-1
i=1000

while(i):
c_Set.append(random.randint(8000,20000))
i=i-1
b_Set=set(b_Set)
c_Set=set(c_Set)
print('\n\n交集:')
print(b_Set&c_Set)
print('\n\n并集:')
print(b_Set|c_Set)

print('\n\n差集:')
print(b_Set-c_Set)
print('\n\n对称差集:')
print(b_Set^c_Set)

3.2:

import random
import re
class2={}
t=[]
excellent_grade=[]
excellent_job=[]
i=100
while(i):
t.append(random.randint(201712101,201712200))
i=i-1
t.sort()
i=0
while(i<100):
pp=str(random.choice('赵钱孙李周吴郑王'))+str(random.sample(['菲萱','林帛', '媛舒','初阳','柔凡','初萱','克雪', '淑凡', '岚茹', '芝薇', '颖梦',
'星初', '濡骏', '骞文', '福烁', '铭骏', '海辰', '运延','运延 ','震驰' ,'鸿晨','强天'],1))
r='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]+'
zz=re.sub(r,'',pp)
class2[t[i]]=zz

i=i+1

for key in class2.keys():
print('学号:'+str(key)+' '+'姓名:'+class2[key])

i=10
while(i):
excellent_grade.append(random.randint(201712101,201712200))
i=i-1
excellent_grade=set(excellent_grade)
print('\n考试成绩前10名:')
print(excellent_grade)

i=10
while(i):
excellent_job.append(random.randint(201712101,201712200))
i=i-1
excellent_job=set(excellent_job)
print('\n活动中表现优异前10名:')
print(excellent_job)

3.3:

import random
t=[]
i=1000
while(i):
t.append(random.randint(20,100))
i=i-1
print(t)
print('\n\n')
t.sort()
a={}
for i in t:
if t.count(i)>1:

a[i]=t.count(i)
print(a)

4,猜随机数:

from random import randint


def guess():
max=randint(0,1000)
min=randint(-1000,0)#注意区间
print('欢迎来到猜数游戏,可以输入-9999来退出游戏。')
print('你所要猜测的数据在:'+str(max)+','+str(min)+' 区间里面')
result=randint(min,max)
print('\n偷偷告诉你答案:'+str(result))
while 1:
try:
x=int(input('\n请输入:'))
except:
print('请输入正确数据!')
continue
if x==-9999:
break
elif x==result:
print('成功!')
break
elif x>result:
print('猜大啦!')
continue
elif x<result:
print('猜小啦!')
continue
#print('你的输入:')
#print(x)
#print('result的数值::')
#print(result)

guess()

抓狐狸:

'''模拟抓护理小游戏。假设一共有一排5个洞口,小狐狸最开始在其中一个洞口,
然后玩家随机打开一个洞口,如果里面有狐狸就抓到了,没有狐狸就第二天来抓,
三十第二天狐狸就会在玩家来抓之前跳到隔壁洞口'''
import random
def catchMe(n=5,maxStep=10): #五个洞口,最多允许抓十次
position=[0]*n; #n个洞口有狐狸就为1,没有狐狸就为0
oldpos=random.randrange(0,n)
position[oldpos]=1 #随机给小狐狸一个位置

#玩家开始抓狐狸
m=1
while m<=maxStep:
#判断输入正确
print("第{}次".format(m))
while True :
try:
x=int(input("今天你要开哪个洞口(0-4):"))
assert 0<=x<=4 #输入的洞口值要合法,如果不合法抛出异常
break
except:
#输入不正确执行下面代码
print("请输入正确的洞口")
#判断有没有找到
if position[x]==1:
print("Congratulation!")
break
else:
print("Try again!")
#小狐狸换洞口,洞口有两个可能,
if oldpos==0:
newpos=oldpos+1
elif oldpos==n-1:#为最后一个洞口
newpos=0
else:
newpos=oldpos+random.choice((-1,1))
position[oldpos],position[newpos]=0,1 #将位置更新
m=m+1 #次数+1
else:
print("You fail")
catchMe()

5:
链接:5.1:

import os
def encryption():
str_raw = input("请输入明文:")
k = int(input("请输入位移值:"))
str_change = str_raw.lower()
str_list = list(str_change)
str_list_encry = str_list
i = 0
while i < len(str_list):
if ord(str_list[i]) < 123-k:
str_list_encry[i] = chr(ord(str_list[i]) + k)
else:
str_list_encry[i] = chr(ord(str_list[i]) + k - 26)
i = i+1
print ("加密结果为:"+"".join(str_list_encry))

encryption()

5.2:

import os
import random
import string
import re
StringBase = '\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec'\
'\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230'\
'\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c'\
'\u90a3\u8981\u4e0b\u770b\u5929\u65f6\u8fc7\u51fa\u5c0f'\
'\u4e48\u8d77\u4f60\u90fd\u628a\u597d\u8fd8\u591a\u6ca1'\
'\u4e3a\u53c8\u53ef\u5bb6\u5b66\u53ea\u4ee5\u4e3b\u4f1a'\
'\u6837\u5e74\u60f3\u751f\u540c\u8001\u4e2d\u5341\u4ece'\
'\u81ea\u9762\u524d\u5934\u9053\u5b83\u540e\u7136\u8d70'\
'\u5f88\u50cf\u89c1\u4e24\u7528\u5979\u56fd\u52a8\u8fdb'\
'\u6210\u56de\u4ec0\u8fb9\u4f5c\u5bf9\u5f00\u800c\u5df1'\
'\u5374\u7ad9\u4ee3\u5458\u673a\u66f4\u4e5d\u60a8\u6bcf'\
'\u98ce\u7ea7\u8ddf\u7b11\u554a\u5b69\u4e07\u5c11\u76f4'\
'\u610f\u591c\u6bd4\u9636\u8fde\u8f66\u91cd\u4fbf\u6597'\
'\u9a6c\u54ea\u5316\u592a\u6307\u53d8\u793e\u4f3c\u58eb'\
'\u8005\u5e72\u77f3\u6ee1\u65e5\u51b3\u767e\u539f\u62ff'\
'\u7fa4\u7a76\u5404\u516d\u672c\u601d\u89e3\u7acb\u6cb3'\
'\u6751\u516b\u96be\u65e9\u8bba\u5417\u6839\u5171\u8ba9'\
'\u76f8\u7814\u4eca\u5176\u4e66\u5750\u63a5\u5e94\u5173'\
'\u4fe1\u89c9\u6b65\u53cd\u5904\u8bb0\u5c06\u5343\u627e'\
'\u4e89\u9886\u6216\u5e08\u7ed3\u5757\u8dd1\u8c01\u8349'\
'\u8d8a\u5b57\u52a0\u811a\u7d27\u7231\u7b49\u4e60\u9635'\
'\u6015\u6708\u9752\u534a\u706b\u6cd5\u9898\u5efa\u8d76'\
'\u4f4d\u5531\u6d77\u4e03\u5973\u4efb\u4ef6\u611f\u51c6'\
'\u5f20\u56e2\u5c4b\u79bb\u8272\u8138\u7247\u79d1\u5012'\
'\u775b\u5229\u4e16\u521a\u4e14\u7531\u9001\u5207\u661f'\
'\u5bfc\u665a\u8868\u591f\u6574\u8ba4\u54cd\u96ea\u6d41'\
'\u672a\u573a\u8be5\u5e76\u5e95\u6df1\u523b\u5e73\u4f1f'\
'\u5fd9\u63d0\u786e\u8fd1\u4eae\u8f7b\u8bb2\u519c\u53e4'\
'\u9ed1\u544a\u754c\u62c9\u540d\u5440\u571f\u6e05\u9633'\
'\u7167\u529e\u53f2\u6539\u5386\u8f6c\u753b\u9020\u5634'\
'\u6b64\u6cbb\u5317\u5fc5\u670d\u96e8\u7a7f\u5185\u8bc6'\
'\u9a8c\u4f20\u4e1a\u83dc\u722c\u7761\u5174\u5f62\u91cf'\
'\u54b1\u89c2\u82e6\u4f53\u4f17\u901a\u51b2\u5408\u7834'\
'\u53cb\u5ea6\u672f\u996d\u516c\u65c1\u623f\u6781\u5357'\
'\u67aa\u8bfb\u6c99\u5c81\u7ebf\u91ce\u575a\u7a7a\u6536'\
'\u7b97\u81f3\u653f\u57ce\u52b3\u843d\u94b1\u7279\u56f4'\
'\u5f1f\u80dc\u6559\u70ed\u5c55\u5305\u6b4c\u7c7b\u6e10'\
'\u5f3a\u6570\u4e61\u547c\u6027\u97f3\u7b54\u54e5\u9645'\
'\u65e7\u795e\u5ea7\u7ae0\u5e2e\u5566\u53d7\u7cfb\u4ee4'\
'\u8df3\u975e\u4f55\u725b\u53d6\u5165\u5cb8\u6562\u6389'\
'\u5ffd\u79cd\u88c5\u9876\u6025\u6797\u505c\u606f\u53e5'\
'\u533a\u8863\u822c\u62a5\u53f6\u538b\u6162\u53d4\u80cc\u7ec6'

def getNameOrAddress():
result = ''
rangestart, rangeend = 2, 5
for i in range(random.randrange(rangestart, rangeend)):
result += random.choice(StringBase)
return result

def getsex():
return random.choice(('男','女'))
def getage():
return str(random.randint(0,120))
def getphone():
return (str(1)+''.join(str(random.randint(0,9)) for i in range(10)))
def getaddress():
xx=str(random.sample(['北京市','天津市','上海市','重庆市','河北省','山西省','辽宁省','吉林省','黑龙江省','江苏省','浙江省','安徽省','福建省','江西省','山东省','河南省','湖北省','湖南省',
'广东省','海南省','四川省','贵州省','云南省','陕西省','甘肃省','青海省','台湾省','内蒙古自治区','广西壮族自治区','西藏自治区','宁夏回族自治区',
'新疆维吾尔自治区','香港特别行政','澳门特别行政区'],1))
r='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]+'
zz=re.sub(r,'',xx)
M=''.join(zz)
return M
def getemail():
suffix = ['.com', '.org', '.net', '.cn']
characters = string.ascii_letters+string.digits+'_'
username = ''.join((random.choice(characters)
for i in range(random.randint(6,12))))
domain = ''.join((random.choice(characters)
for i in range(random.randint(3,6))))
return username+'@'+domain+random.choice(suffix)

tplt = "{:8}\t{:8}\t{:8}\t{:8}\t{:16}\t{:8}"
ff = open('.txt','a')
ff.write(tplt.format("姓名", "性别", "年龄", "电话", "地址", "邮箱"+'\n\n'))
ff.close()
n=0
for i in range(200):
tplt = "{:8}\t{:8}\t{:8}\t{:8}\t{:16}\t{:8}"
n=n+1
name=getNameOrAddress()
sex=getsex()
age=getage()
phone=getphone()
address=getaddress()
email=getemail()
print('成功生成:'+str(n)+'次')

ff = open('.txt','a')
ff.write(tplt.format(name,sex,age,phone,address,email+'\n'))
ff.close()

6:6.1:
去除以下html文件中的标签,只显示文本信息

import re

print('原来的字符串格式\n')
a=['<div><p>岗位职责:</p><p>完成推荐算法、数据统计、接口、后台等服务器端相关工作</p><p><br></p><p>必备要求:</p><p>良好的自我驱动力和职业素养,工作积极主动、结果导向</p><p> <br></p><p>技术要求:</p><p>1、一年以上 Python 开发经验,掌握面向对象分析和设计,了解设计模式</p><p>2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架</p><p>3、掌握关系数据库开发设计,掌握 SQL,熟练使用 MySQL/PostgreSQL 中的一种<br></p><p>4、掌握NoSQL、MQ,熟练使用对应技术解决方案</p><p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p><p> <br></p><p>加分项:</p><p>大数据,数理统计,机器学习,sklearn,高性能,大并发。</p></div> ',]
print(a)
b = ''.join(a)
print('\n\n从字符串转变为文本格式\n')
print(b)
r='[’!"#$%&</p>\'<div>()*+,-./:;<=>?@[\\]^_`{|}~]+'
zz=re.sub(r,'',b)
print('\n\n利用正则表达式剔除标签,得到的文本:\n')
print(zz)

6.2:
利用python正则表达式re模块中的sub方法,将标签替换为空字符串

import re

print('原来的字符串格式\n')
a=['<div><p>岗位职责:</p><p>完成推荐算法、数据统计、接口、后台等服务器端相关工作</p><p><br></p><p>必备要求:</p><p>良好的自我驱动力和职业素养,工作积极主动、结果导向</p><p> <br></p><p>技术要求:</p><p>1、一年以上 Python 开发经验,掌握面向对象分析和设计,了解设计模式</p><p>2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架</p><p>3、掌握关系数据库开发设计,掌握 SQL,熟练使用 MySQL/PostgreSQL 中的一种<br></p><p>4、掌握NoSQL、MQ,熟练使用对应技术解决方案</p><p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p><p> <br></p><p>加分项:</p><p>大数据,数理统计,机器学习,sklearn,高性能,大并发。</p></div> ',]
print(a)
b = ''.join(a)
print('\n\n从字符串转变为文本格式\n')
print(b)
c = re.sub('<[^<]+?>', '', b).replace('\n', '').strip()
print('\n\n利用正则表达式剔除标签,得到的文本:\n')
print(c)

6.3:
将以下网址提取出域名:

from urllib.parse import urlparse
urls = ["http://www.interoem.com/messageinfo.asp?id=35`",
"hhttp://3995503.com/class/class09/news_show.asp?id=14",
"http://lib.wzmc.edu.cn/news/onews.asp?id=769",
"http://www.zy-ls.com/alfx.asp?newsid=377&id=6",
"http://www.fincm.com/newslist.asp?id=415"
]
i=0
for url in urls:
res=urlparse(url)
print("操作对象:", urls[i])
print("域名", res.netloc)
i=i+1



源代码:

class Employee:
def __init__(self,name,age):
self.name = name
self.age = age
self.ability = 100-age
line = '姓名:%s'%self.name+' 年龄:%s'%self.age+' 能力值:%s'%self.ability
#print('\n当前员工信息:%s'%line+'\n')
def doWork(self):
if self.ability >= 5:
self.ability -= 5
return 5
else:
print('员工需要休息')
return 0


class BOSS:
def __init__(self,money,work):
self.money = money
self.work = work
self.employeel = []
def addEmployee(self,money):
while self.work != 0:
if self.money>5000:
self.employeel.append(employee)
self.money -= 5000
self.startWork()
else:
print('抱歉,金额不足时不能雇佣新员工!剩余金钱为:%s\n'%self.money)
return 0


def startWork(self):
for em in self.employeel:
print('当前员工姓名为:%s'%employee.name+' 年龄:%s'%employee.age+' 当前能力值:%s'%employee.ability)
while employee.ability != 0:
self.work -= employee.doWork()
if self.work == 0:
print('该项工作完成结果:成功!\n\n')
print('*'*10+'辛苦各位啦!下班啦·'+'*'*10)
break
if self.work != 0:
print('该项工作完成结果:失败!')
print('剩余工作量:%d\n'%self.work)
break
def endWork(self):
for em in self.employeel:
print('工作完成!!!\n剩余金钱为:%s\n'%self.money)
break


b = BOSS(8000,120)

employee = Employee('张飞',30)
b.addEmployee(employee)


employee = Employee('李胖胖',50)
b.addEmployee(employee)


employee = Employee('香娜尔',45)
b.addEmployee(employee)



资源链接代码:【提交的代码在资源里面】

from os.path import isdir, join, splitext,getsize
from os import remove, listdir, chmod, stat
import sys
import os

filetypes = ['.tmp','.log','.obj','.txt']

def delcc(dictory):
if not isdir(dictory):
print('not a dict...')
return
for filename in listdir(dictory):
temp = join(dictory,filename)
if isdir(temp):
delcc(temp)
elif splitext(temp)[1] in filetypes or getsize(temp)==0:
remove(temp)
print(temp,'delted...')

dictory = r'E:'
delcc(dictory)



资源链接 代码:【提交的代码在资源里面】

from random import choice, randint
from openpyxl import Workbook, load_workbook

#生成随机数据
def create(filename):
workbook = Workbook()
worksheet = workbook.worksheets[0]
worksheet.append(['姓名','课程','成绩'])
#中文名字中的第一、第二、第三个字
first = '赵钱孙李周吴郑王冯陈褚卫'
middle = '伟昀琛东大江东去浪淘尽'
last = '坤艳志千古风流人物人说三国赤壁'
subjects = ('语文','数学','英语')
for i in range(200):
name = choice(first)
#按一定概率生成只有两个字的中文名字
if randint(1,100)>60:
name = name + choice(middle)
name = name + choice(last)
print(name)
#依次生成姓名、课程名称和成绩
worksheet.append([name, choice(subjects), randint(0, 100)])
#保存数据,生成 Excel 2007 格式的文件
workbook.save(filename)
def getResult(oldfile, newfile):
#用于存放结果数据的字典
result = dict()
#打开原始数据
workbook = load_workbook(oldfile)#打开文件操作!
worksheet = workbook.worksheets[0]
#遍历原始数据
for row in worksheet.rows:
if row[0].value == '姓名':
continue
#姓名,课程名称,本次成绩
name, subject, grade = map(lambda cell:cell.value, row)
#获取当前姓名对应的课程名称和成绩信息
#如果 result 字典中不包含,则返回空字典
t = result.get(name, {})
#获取当前学生当前课程的成绩,若不存在,返回 0
f = t.get(subject, 0)
#只保留该学生该课程的最高成绩
if grade > f:
t[subject] = grade
result[name] = t
workbook1 = Workbook()
worksheet1 = workbook1.worksheets[0]
worksheet1.append(['姓名','课程','成绩'])
#将 result 字典中的结果数据写入 Excel 文件
for name, t in result.items():
print(name, t)
for subject, grade in t.items():
worksheet1.append([name, subject, grade])
workbook1.save(newfile)
if __name__ == '__main__':
oldfile = r'C:\Users\HWP\Desktop\python作业表格\test.xlsx'
newfile = r'C:\Users\HWP\Desktop\python作业表格\result.xlsx'
create(oldfile)
getResult(oldfile, newfile)

少写一个打字的:

def Rate(origin, userInput):
if not (isinstance(origin, str) and isinstance(userInput, str)):
return 'The two parameters must be strings.'
if len(origin)<len(userInput):
return 'Sorry. I suppose the second parameter string is shorter.'
right = sum(1 for oc, uc in zip(origin, userInput) if oc==uc)
return right/len(origin)
a = '''一二三四五六七八九十'''
print('输出实例:')
print(a)
b=str(input('请你开始打字练习,请按照顺序输入:\n'))
#print(round(Rate(a,b)*100, 2))
#print(str(round(Rate(a,b)*100, 2))+str('%'))
print(str('本次打字练习中你的正确率是:')+"%.2f"%(Rate(a,b)*100)+str('%'))
if Rate(a,b)*100 >=80:
print('成绩优秀,百尺竿头更进一步!')
elif Rate(a,b)*100 >=60:
print('成绩良好,多加练习变成优秀!')
else:
print('多加练习,逃离新手区~~!')


标签:Set,name,python,BIG,self,random,str,下学期,print
From: https://blog.51cto.com/dream666uping/5855107

相关文章

  • hc - python
    Grafanaalerts健康检查我们可以在Grafana的panel中设置alert当报警触发,我们有另外的程序会捕捉到它,并通过创建jira工单的方式,通报给相应的Team去处理为了能成功......
  • python课本学习-第五章
    一、列表的概念1、列表的创建列表是由一组任意类型的值组合而成的序列,组成列表的值称为元素,每个元素之间用逗号隔开。列表中的元素是可变的#列表类似于c++中的数组,数......
  • Python - request 报错:raise RemoteDisconnected("Remote end closed connection with
    2022-11-1521:46:20,261INFO[get_data.py(get_product_mode:46)]-当前page======>:255Traceback(mostrecentcalllast):File"D:\jlc_auto_test\fa_search_tes......
  • Python locust工具使用详解
    今年负责部门的人员培养工作,最近在部门内部分享和讲解了locust这个工具,今天再博客园记录下培训细节。相信你看完博客,一定可以上手locust这个性能测试框架了。一、简介1......
  • python神经网络编程
    计算机系统:输入->(计算)->输出建立模型可以模拟事情的运作神经网络的基本思想:持续细化误差值。大的误差需要大的修正值,小的误差需要小的修正值。尝试得到一个答案,并多......
  • Python 文本文件拖上转自适应图片 - 学习笔记(2022.11.16)
    Python文本文件拖上转自适应图片功能:1、支持拖拽执行2、文本文件转为自适应尺寸图片1importre2importos3importsys4importtime5fromPI......
  • 如何正确遵守 Python 代码规范
    前言无规矩不成方圆,代码亦是如此,本篇文章将会介绍一些自己做项目时遵守的较为常用的Python代码规范。命名大小写模块名写法:module_name包名写法:package_nam......
  • python 中 循环结构同时传入多个参数
     001、>>>list1=[("aa",100,400),("bb","kk","yy"),(33,400,500)]>>>fori,j,kinlist1:##利用列表、元组同时传入多个参数...print(i,......
  • python 中统计每一个字符串中每一个字符出现的次数
     001、直接使用字典进行统计>>>str1="aaaabbcdddefff"##测试字符串>>>dict1=dict()>>>foriinstr1:##利用条件分支进行判断.........
  • Python 中的 defaultdict 数据类型
     首先,defaultdict是dict的一个子类。通常Python中字典(dict)是通过键值对来存取的,当索引一个不存在的键时,就会引发keyerror异常。那么,defaultdict就可以解决这个......