
笔记
洪荒宇宙py
小白
展开
-
绘制谢尔平斯基三角形
【代码】绘制谢尔平斯基三角形。原创 2022-10-05 22:02:45 · 311 阅读 · 1 评论 -
类的静态方法,把函数放入类中,没有self参数,用类名调用静态方法
"""设计:Python程序设计作者:初学者日期:2022年 05月 22日"""class Vector2: """ 二维向量 可以表示位置和方向 """ def __init__(self,x,y): self.x = x self.y = y # 静态方法:表示向左方向 @staticmethod def left(): return Vector2(0, -1)原创 2022-05-22 16:12:08 · 344 阅读 · 1 评论 -
类的练习操作
"""设计:Python程序设计作者:初学者日期:2022年 05月 22日"""""" 定义敌人类 数据:姓名,血量,基础攻击力,防御力 行为:打印个人信息 创建敌人列表(至少4个元素) 查找姓名为“成昆”的敌人对象 把“陈友谅”的血量修改为0 查找所有死亡的敌人对象 计算所有敌人的平均攻击力 删除防御力小于10 的敌人 将敌人所有攻击力增加100"""class Enemy: def __init__(s原创 2022-05-22 11:17:02 · 144 阅读 · 0 评论 -
类的定义,创建实例变量, 读取实例变量
"""设计:Python程序设计作者:初学者日期:2022年 05月 21日"""class Student: def __init__(self, name, age, score, sex): # 创建实例变量 self.name = name self.age = age self.score = score self.sex = sex def print_self_info(self):原创 2022-05-21 21:33:43 · 180 阅读 · 0 评论 -
完全二叉树
#参数root是二叉树的根#返回值是个布尔值,当完全二叉树时返回True,否则返回Falseclass TreeNode:def init(self, val):self.val = valself.left = Noneself.right = Noneclass Solution:def isComplete(self, root):if root is None:return Truequeue = [root]index = 0while index < len(qu原创 2022-04-10 22:34:46 · 469 阅读 · 0 评论 -
类的练习题
class Attack(object): #创建一个攻击类def init(self,cross_cut,pick,thorn):self.cross_cut=cross_cutself.pick=pickself.thorn=thorndef male_warrior(self):print("%s,横砍" %(self.cross_cut))def female_warrior(self):print("%s,竖挑" %(self.pick))def the_demon(sel原创 2022-02-14 21:07:07 · 259 阅读 · 0 评论 -
相同列表长度的乘积
class Solution:‘’’参数A和B:输入列表返回值:整数是点积‘’’def dotproduct(self,A,B): if len(A)==0 or len(B)==0 or len(A) !=len(B): return "没有点积" a=0 for i in range(len(A)): a+=A[i]*B[i] return a#主函数if name == ‘main’:A=[1,2,3]B=[5,5,5原创 2022-02-12 12:03:52 · 170 阅读 · 0 评论 -
双胞胎字符串
class Solution:‘’’参数a和b:一对字符串返回值:字符串,表示能否根据规则转换&表示按位与‘’’def twins(self,a,b): if len(a)!=len(b): return "no" odds=[] news=[] odd=[] new=[] for i in range(len(a)): if i & 1: odds.append(a[i])原创 2022-02-11 10:37:04 · 448 阅读 · 0 评论 -
不重复的两个数
class Solution:‘’’参数n:输入的待查数组返回值:内容没有重复的两个值的列表&表示按位与^表示按位异或<<表示左移位‘’’def repetition(self,n): x=[0,0] for i in n: x[0]=x[0]^i a=1 while a & x[0] != a: a=a<<1 for i in n: if i & a==a原创 2022-02-11 10:32:41 · 625 阅读 · 0 评论 -
构造勒索信
class Solution:‘’’参数randsom:字符串参数maga:字符串返回布尔类型‘’’def envelope(self,randsom,maga): arr=[0]*26 for i in maga: arr[ord(i)-ord('a')]+=1 for i in randsom: arr[ord(i)-ord('a')]-=1 if arr[ord(i)-ord('a')]<0:原创 2022-02-10 15:49:23 · 405 阅读 · 0 评论 -
输出字符串的个数
class Solution:#参数s:字符串#返回整数def character(self,s):res=0for i in range(len(s)):if s[i] != " " and (i0 or s[i-1] ’ '):res+=1return res#主函数if name == ‘main’:solution=Solution()n=input("请输入字符串:")print("输出:", solution.character(n))...原创 2022-02-10 11:26:56 · 855 阅读 · 0 评论 -
下一个更大的数
class Solution:#参数nums1:整数数组#参数nums2:整数数组def greater(self,nums1,nums2): dictz={} lists=[] for x in nums2: while lists and lists[-1]<x: dictz[lists[-1]]=x del lists[-1] lists.append(x) for x in l原创 2022-02-09 15:43:55 · 322 阅读 · 0 评论 -
二分查找涵数
class Solution:#参数nums:整数数组#参数target:要查找的目标数字#返回值:目标数字的第1个位置,从0开始def findsearch(self,nums,target):return self.search(nums,0,len(nums)-1,target)def search(self,nums,start,end, target):if start>end:return -1mid=(start+end)//2if nums[mid]>targ原创 2022-02-09 15:19:11 · 736 阅读 · 0 评论 -
相对排名列表
class Solution:#参数nums:整数列表#返回列表def findlist(self,nums):ranking={} for i in range(len(nums)): ranking[nums[i]]=i sortedlist=sorted(nums, reverse=True) relatively=[0]*len(nums) for i in range(len(sortedlist)): res=str(i+1原创 2022-02-09 09:06:03 · 186 阅读 · 0 评论 -
旋转字符串
class Solution:#参数s:字符列表#参数integer:整数#返回值:无def rotation(self,s,integer):if len(s)>0:integer=integer%len(s)temp=(s+s)[len(s)-integer : 2 * len(s)-integer]for i in range(len(temp)):s[i]=temp[i]#主函数if name == ‘main’:s=[“a”,“b”,“d”,“y”,“e”,“s”]原创 2022-02-08 20:09:57 · 73 阅读 · 0 评论 -
合并有序数组
class Solution:#参数A:有序整数数组A#参数B:有序整数数组B#返回:一个新的有序整数数组def merge(self, A, B): i,j = 0,0 c=[] while i<len(A) and j<len(B): if A[i]<B[j]: c.append(A[i]) i+=1 else: c.append(B[j])原创 2022-02-08 16:56:46 · 221 阅读 · 0 评论 -
反转一个3位数整
class Solution:def reversal(self, number):h=int(number/100)t=int(number%100/10)y=int( number%10)return (100y+10t+h)if name == ‘main’:solution = Solution()num = int(input(“请输入一个3位整数:”))rev = solution.reversal(num)print(“输入:”, num)print(“输出:”,rev)原创 2022-02-08 15:52:39 · 305 阅读 · 0 评论 -
列表练习题
numberlist=[]a=int(input(“请输入数字:”))while True:if a%20:a//=2else:a=a*3+1numberlist.append(a)if a1:breakprint(“这个列表是:”, numberlist)原创 2022-02-07 18:20:48 · 211 阅读 · 0 评论 -
用函数打印99乘法表
def find(n):if n>=1:for i in range(1,n):for j in range(1,i+1):print(str(j)+‘x’+str(i)+’=’+str(j*i),end="\t")return nfind(11)原创 2022-02-07 12:33:15 · 1151 阅读 · 0 评论 -
每日输出一段
def function_tips():‘’‘功能:每天输出一条励志文字‘’’import datetimemot=["坚持下去不是因为我很坚强,而是因为我别无选择", "含泪播种的人一定能笑着收获", "做对的事情比把事情做对重要", "命运给予我们的不是失望之酒,而是机会之杯", "明日永远新鲜如初,纤尘不染", "求知若渴,虛心若愚", "成功将属于初那些从不说“不可能”的原创 2022-02-07 11:02:49 · 287 阅读 · 0 评论 -
正则表达式练习题
import rehtml = ‘’’经典老歌 经典老歌列表results=re.findall(’<li.?href="(.?)".?singer="(.?)">(.*?)’,html,re.S)#href表示超链接#findall的返回值是按()中所标识的字段来匹配的。比如这条语句中就有三个()。print(results)print(type(results))#看一下结果的类型for result in results:#循环打印出列表中的每一个元素prin原创 2022-02-04 21:16:33 · 333 阅读 · 0 评论 -
正则表达式验证手机号码
import repatt=r’(13[4-9]\d{8,})KaTeX parse error: Undefined control sequence: \d at position 12: |(15[01289]\̲d̲{8,})’mobile=str(input(‘请输入手机号码:’))match=re.match(patt,mobile)if match==None:print(mobile,“不是有效的中国移动手机号码。”)else:print(mobile,“是有效的中国移动手机号原创 2022-02-04 15:20:57 · 2017 阅读 · 0 评论 -
用内置函数排序
import randomlist1=[random.randint(1,100) for i in range(10)]print(list1)list1.sort()print(list1)list2=sorted(list1)print(list2)原创 2022-02-03 08:55:23 · 420 阅读 · 0 评论 -
练习正则表达式
import rem=re.match(“hello”,“hello”)if m is not None:print(m.group())print(m.class.name)m=re.search(“python”,“i love python”)if m is not None:print(m.group()print(m)原创 2022-02-02 23:24:56 · 752 阅读 · 0 评论 -
回溯加递归
class Solution(object):def solvePermutation(self, array):self.helper(array, [])def helper(self, array, solution):# 递归的基线条件if len(array) == 0:print(solution)returnfor i in range(len(array)):newSolution = solution + [array[i]]self.helper(array[: i]原创 2022-02-01 16:35:37 · 390 阅读 · 0 评论 -
爬虫练习题
urllib网络请求是python自带的import urllib#请求from urllib import requestif name == ‘main’:# 服务器响应response1 = urllib.request.urlopen(url=“http://www.baidu.com”)text = response1.read().decode(“utf-8”)with open(‘baidu.html’, mode=‘w’, encoding=‘utf-8’) as fp:f原创 2022-01-31 18:32:16 · 806 阅读 · 0 评论 -
球弹起的高度和和次数
right=100tan_right=100for i in range(2,11):tan_right/2right+=tan_right*2a=tan_right/2print(right)print(a)原创 2022-01-31 13:13:44 · 342 阅读 · 0 评论 -
【无标题】
import datetimedef get_nday_list(n):before_n_days = []for i in range(1, n + 1)[::-1]:before_n_days.append(str(datetime.date.today() - datetime.timedelta(days=i)))return before_n_daysa = get_nday_list(30)print(a)原创 2022-01-30 22:07:07 · 333 阅读 · 0 评论 -
爬虫练习2
import urllibimport urllib2values={}values[‘username’] = “1016903103@qq.com”values[‘password’]=“XXXX”data = urllib.urlencode(values)url = “http://passport.youkuaiyun.com/account/login”geturl = url + “?”+datarequest = urllib2.Request(geturl)response = ur原创 2022-01-30 21:46:58 · 360 阅读 · 0 评论 -
爬虫练习题
from urllib import requestimport reheaders={‘User-Agent’:‘zsjggye’}def getcatelogs(url):req=request.Request(url=url, headers=headers,method=“GET”)response=request.urlopen(req)result=[]if response.status200:html=response.read().decode(‘UTF-8’)alist原创 2022-01-29 21:04:10 · 2388 阅读 · 0 评论 -
求a+aa+aaa+....的值
number=int(input(“请输入一个数:”))number1=int(input(“请输入一个数:”))dome=number1total=0for i in range(number):total+=number1print(number1)number1*=10number1+=domeprint(“和的值为:%d”%total)原创 2022-01-28 22:32:17 · 193 阅读 · 0 评论 -
二分查找算法
def li_find(lists,val):x=0y=len(lists)-1while x<= y:find=(x+y)//2if lists[find]==val:return findelif lists[find]>val:y=find-1else:x=find+1else:return Nonelists=[1,2,3,4,5,6,7,8,9,10]print(li_find(lists,8))原创 2022-01-27 23:12:22 · 275 阅读 · 0 评论 -
顺序查找算法
def list_find(lists,val):for v in enumerate(lists):if v ==val:return velse:returnlists=[1,2,3,4,5,6,7,8,9,10]print( list_find(lists,2))原创 2022-01-27 20:43:28 · 514 阅读 · 0 评论 -
用字母打印菱形
num1=list(range(1,10,2))num2=list(range(7,0,-2))list1=num1+num2#print(list1)for j in list1:print(("*" *j).center(10))for i in list1[:5]:print((chr(ord(“A”)+(i-1)//2)*i).center(9))for i in list1[5:]:print((chr(ord(“E”)+(9-i)//2)*i).center(9))...原创 2022-01-25 21:51:34 · 333 阅读 · 0 评论 -
用递归实现累加
def find(n):if n>=1:return n+find(n-1)return 0print(find(100))原创 2022-01-24 22:32:56 · 293 阅读 · 0 评论 -
打印区间素数
def prime(n):if n in (1,2):return Truefor i in range(2,n):if n%i==0:return Falsereturn Truedef primes(a,b):for n in range(a,b+1):if prime(n):print(f"{n}是素数")#a=1#b=200primes(1,200)原创 2022-01-24 20:59:04 · 208 阅读 · 0 评论 -
判断n是不是素数
def prime(n):number=[]for i in range(2,n-1):number.append(n%i)if 0 not in number:return Trueprint (prime(200))原创 2022-01-24 20:33:43 · 189 阅读 · 0 评论 -
用函数实现累乘
def find(n):sum=1for i in range(1,n+1):sum *= in=sumreturn nprint(find(10))原创 2022-01-23 22:33:21 · 1235 阅读 · 0 评论 -
定义函数实现累加
def plus(n):sum1=0for i in range(1,n+1):sum1+=in=sum1return nprint(plus(100)) :list1=[]for i in range(1,n2):if i<=n:str1=" "(n-i)+""(2*i-1)if i!=n:list1.append(str1)print(str1)else:print(list1.pop())rhombus(8)原创 2022-01-23 21:04:16 · 270 阅读 · 0 评论