自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Python练习题13:随机密码生成

import randomdef genpwd(length): return random.randint(10**(length-1),10**length-1) #randint是从[a,b]中随机取整数length = eval(input())random.seed(17)for i in range(3): print(genpwd(length))

2020-10-30 19:39:05 1736

原创 Python练习题12:连续质数计算

def prime(m): for i in range(2,m): if m%i == 0: return False return Truen = eval(input())if n != int(n): n = int(n) + 1else: n = int(n)times = 0res = []while times < 5: if prime(n): times += 1 res.append(n) n += 1for i in res[:l.

2020-10-30 19:33:27 3352

原创 Python练习题11:汉诺塔实践

steps = 0def hanoi(src,des,mid,n): global steps if n == 1: steps += 1 print("[STEP{:>4}] {}->{}".format(steps,src,des)) else: hanoi(src,mid,des,n-1) steps += 1 hanoi(mid,des,src,n-1)n = eval(input())hanoi("A","C","B",n)

2020-10-30 18:51:26 2071 3

原创 Python练习题10:斐波那契数列计算

def fbi(n): if n == 1 or n == 2: return 1 else: return fbi(n-1) + fbi(n-2)n = eval(input())print(fbi(n))

2020-10-30 18:25:36 5292 1

原创 Python练习题9:科赫雪花小包裹

import turtledef koch(size,n): if n == 0: turtle.fd(size) else: for angle in [0,60,-120,60]: turtle.left(angle) koch(size/3,n-1) def main(level): turtle.setup(600,600) turtle.penup() turtle.goto(-200,100) turtle.pendown() turtle.pe.

2020-10-30 18:09:56 434

原创 Python练习题8:七段数码管绘制

import time,turtledef drawLine(draw): #画线 turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90)def drawDigit(digit): #画数字 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,1,3,4,5,6,.

2020-10-30 08:55:18 1451

原创 Python练习题7:任意累积

计算任意个输入数字的乘积示例:输入:1,2,3,4输出:24def cmul(*num): mul = 1 for i in num: mul *= i return mulprint(eval("cmul({})".format(input()))) 代码解析:首先,运用.format()函数将用户输入填充到前面的{}中,然后,通过eval()函数执行" "内的代码的功能,而cmul()的功能就是计算出乘积,最后,通过print()函数输出cmul()的返回值。这种方法精简了代

2020-10-30 08:32:00 12844 3

原创 Python练习题6:密码强度检查

判断密码是否符合要求:8位以上,包含英文大小写字母、数字import sysdef check_password(password): flag_lower = False flag_upper = False flag_digit = False flag_num = False if len(password) > 8: flag_num = True else: return False for c in password: if c.islower():

2020-10-26 13:52:44 1685

原创 Python练习题5:随机密码生成器

生成包含大小写字母、数字的随机密码import randomimport stringstring_lower = string.ascii_lowercase #小写字母string_upper = string.ascii_uppercase #大写字母string_digits = string.digits #数字string_all = string_lower + string_upper + string_digitsrandom.seed(0) #种子一定时,随机数一定

2020-10-26 11:03:48 907

原创 Python练习题4:上周/本周/下周 周一的日期

import datetimeimport sysdef last_monday(date_str): date = datetime.datetime.strptime(datestr,"%Y-%m-%d") date = date + datetime.timedelta(-date.weekday()-7) return date.strftime("%Y-%m-%d")def this_monday(date_str): date = datetime_datetime.strpt.

2020-10-22 16:19:17 397

原创 Python练习题3:计算两个日期相隔的秒数

import datetimedef date_delta(start,end): start = datetime.datetime.strptime(start,"%Y-%m-%d %H:%M:%S") end = datetime.datetime.strptime(end,"%Y-%m-%d %H:%M:%S") return (end-start).total_seconds() start = input() end = input() print(date_delta(.

2020-10-22 15:16:49 1997

原创 Python练习题2:获得昨天和明天的日期

import sysfrom datetime import datetime,timedeltadef next_1(date_str): start = datetime.strptime(date_str,'%Y-%m-%d') next_2 = timedelta(days = 1) return (start + next_2).strftime('%Y-%m-%d') def prev_1(date_str): start_2 = datetim.

2020-10-22 14:12:28 320

原创 Python练习题1:编写一个函数,将形如5D,30s,的字符串转为秒

import sysdef convert_to_seconds(time_str): #定义函数,用于时间转换 if time_str[-1] in['s','S']: time_str = eval(time_str[0:-1]) elif time_str[-1] in['m','M']: time_str = eval(time_str[0:-1])*60 elif time_str[-1] in['h','H']: ti.

2020-10-22 11:14:12 208

原创 解决win10文件夹右键单击自动退出并刷新桌面问题

文件夹选项——查看——选中“在单独的进程中打开文件夹窗口”

2020-10-20 09:43:44 15695 5

原创 实时操作系统UCOS学习笔记15----存储管理

作为一个操作系统,内存管理是其必备的功能,在UCOSIII中也有内存管理模块,使用内存管理模块可以动态的分配和释放内存,这样可以高效的使用“昂贵”的内存资源,本章讲解一下UCOSIII的内存管理。1、存储管理简介内存管理是一个操作系统必备的系统模块,我们在用VC++或者visual studio学习C语言的时候会使用malloc()函数和free()函数来申请和释放内存。我们在使用MDK编写STM32程序的时候就可以使用malloc()和free(),但是不建议这么用,这样的操作会将原来大块内存逐渐的分

2020-10-16 14:41:39 518

原创 实时操作系统UCOS学习笔记14----同时等待多个内核对象

在前几章中讲解了任务如何等待单个对象,比如信号量、互斥信号量、消息队列和事件标志组等。本章讲解一下UCOSIII如何同时等待多个内核对象,在UCOSIII中只支持同时等待多个信号量和消息队列,不支持同时等待多个事件标志组和互斥信号量。1、同时等待多个内核对象UCOSIII中一个任务可以同时等待任意数量的信号量或者消息队列,当只要等到其中的任意一个的时候就会导致该任务进入就绪态,如下图所示。在上图中任务通过调用函数OSPendMulti()来等待多个内核对象,我们可以设定一个等待超时值,如果在指定的时

2020-10-15 17:20:09 382

原创 实时操作系统UCOS学习笔记13----事件标志组

前面讲过可以使用信号量来完成任务同步,这里再讲解一下另外一种任务同步的方法,就是事件标志组,事件标志组用来解决一个任务和多个事件之间的同步。1、事件标志组有时候一个任务可能需要和多个事件同步,这个时候就需要使用事件标志组。事件标志组与任务之间是有2种同步机制:“或”同步和“与”同步,当任何一个事件发生,任务都被同步的同步机制是“或”同步;需要所有的事件都能发生任务才会被同步的同步机制是“与”同步,这2种同步机制如下图所示。在UCOSIII中事件标志组是OS_FLAG_GRP,在os.h文件中有定义

2020-10-15 16:38:32 823

原创 实时操作系统UCOS学习笔记12---UCOSIII消息传递

有时候一个任务要和另外一个或者几个任务进行“交流”,这个“交流”就是消息的传递,也称为任务间通信,在UCOSIII中消息可以通过消息队列作为中介发布给任务,也可以直接发布给任务,本章讲解一个UCOSIII中的消息传递。1、消息队列消息一般包含:指向数据的指针,表明数据长度的变量和记录消息发布时刻的时间戳,指针指向的可以是一块数据区或者甚至是一个函数,消息的内容必须一直保持可见性,因为发布数据采用的是引用传递是指针传递而不是值传递,也就是说,发布的数据本身不产生数据拷贝。在UCOSII中有消息邮箱和消息

2020-10-15 11:18:38 1287 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除