python基础
猫小乐_
成为自己的太阳,无需凭借谁的光。
展开
-
算法设计与分析 最长公共子序列(动态规划)Python实现
【问题描述】使用动态规划算法解最长公共子序列问题,具体来说就是,依据其递归式自底向上的方式依次计算得到每个子问题的最优值。【输入形式】在屏幕上输入两个序列X和Y,序列各元素数间都以一个空格分隔。【输出形式】序列Xi = {x1, …, xi}和序列Yj = {y1, …, yj}的最长公共子序列的长度。序列X和Y的其中一个最长公共子序列,也就是当序列X和Y有多个最长公共子序列时,只输出其中的一个。这个输出的最长公共子序列选取的方法是:当xi不等于yj时,而c[i-1,j]==c[i,j-1],那么,c[原创 2021-04-30 13:11:42 · 1039 阅读 · 0 评论 -
棋盘覆盖问题Python实现
【问题描述】使用递归与分治策略解决棋盘覆盖问题【输入形式】在屏幕上输入棋盘大小及特殊方格所在行号和列号。【输出形式】输出使用L型骨牌进行棋盘覆盖结果。【样例1输入】21 2【样例1输出】2 -1 3 32 2 1 34 1 1 54 4 5 5【样例说明】输入:第一行输入整数k表示棋盘大小为2的k次幂,若k为2,则棋盘大小为4行4列;若k为3,则棋盘大小为8行8列。第二行输入特殊方格所在的行号和列号,以空格分隔,当前输入的:1 2,表示特殊方格在棋盘的第1行第2列。2&l原创 2021-04-09 20:29:19 · 2460 阅读 · 0 评论 -
Python 数据容器之元组Tuple的定义,遍历及常用方法
Python 元组Tuple的定义,遍历及常用方法原创 2023-03-12 20:35:52 · 654 阅读 · 0 评论 -
Python 数据容器之列表List
Python 数据容器列表List常用方法原创 2023-03-12 19:42:43 · 148 阅读 · 0 评论 -
利用列表生成式计算身份证校验码python
问题描述】按照下面的输入形式,提示用户输入18位身份证号码,利用列表生成式,分别生成如下四个列表①由身份证号码左边17位数字构成的列表②17位数字对应权重构成的列表,提示:最左边数字对应的权重为2**17%11,往右的话,指数17依次递减1③由数字和对应权重配对构成的列表④由数字和对应权重相乘后的一组乘积构成的列表对乘积列表求和,假设和为s,则校验码为(12-s%11)%11,若为10则用字符X表示【输入形式】请输入18位身份证号码【输出形式】【样例输入】32021320150827原创 2021-04-24 13:47:59 · 478 阅读 · 0 评论 -
统计地铁一号线站点Python
【问题描述】将下面的字符串根据顿号分解成一个站名列表“堰桥、锡北运河、西漳、天一、刘潭、庄前、民丰、无锡火车站、胜利门、三阳广场、南禅寺、谈渡桥、太湖广场、清名桥、人民医院、华清大桥、扬名、南湖家园、塘铁桥、金匮公园、市民中心、文化宫、江南大学、长广溪”按下面的输入形式提示用户输入利用列表生成式,进行统计:①若用户输入的是汉字,则统计无锡地铁一号线带有该汉字的站名个数,并生成由这些站名组成的一个列表②若输入的是数字,则统计无锡地铁一号线站名长度超过该数值的站名个数,并生成由这些站名组成的一个列表原创 2021-04-24 13:41:38 · 370 阅读 · 1 评论 -
利用列表计算乘车区间Python
【问题描述】将书上的站点数据,改用无锡地铁一号线的站点,可以复制以下字符串”堰桥、锡北运河、西漳、天一、刘潭、庄前、民丰、无锡火车站、胜利门、三阳广场、南禅寺、谈渡桥、太湖广场、清名桥、人民医院、华清大桥、扬名、南湖家园、塘铁桥、金匮公园、市民中心、文化宫、江南大学、长广溪”利用split()得到一个列表并首先输出如下信息:无锡一号线站点[‘堰桥’, ‘锡北运河’, ‘西漳’, ‘天一’, ‘刘潭’, ‘庄前’, ‘民丰’, ‘无锡火车站’, ‘胜利门’, ‘三阳广场’, ‘南禅寺’, ‘谈渡桥’原创 2021-04-24 13:35:48 · 848 阅读 · 1 评论 -
计算身份证号码的校验码Python
【问题描述】输入18位的身份证号码(注意以str类型保存,因为尾巴上有可能出现 X字符)最后一位字符就是校验码,是根据左边17位数字,按照下面的算法计 算求得:①将每位上的数字乘以对应位上的权重,并累加得到加权和第i位上的权重为:2的i次方再除以11取余数,也就是2**i%11注意:此处位的编号是从右往左递增,也就是最右边是第0位,最左边是第17位和字符串索引刚好相反②假设加权和,保存在变量s中,则校验码等于(12-s%11)%11,若结果为10,则用罗马数字X表示输出校验码,并显示校验码是否原创 2021-04-09 20:16:05 · 2157 阅读 · 1 评论 -
使用蒙特卡罗方法计算圆周率π Python
【问题描述】假设有一个单位圆,其面积就是π,单位圆的外接正方形的边长为2,故正方形的面积是4在正方形内随机产生m个点,假设落在圆内的点的数量为n,则n/m近似等于圆与正方形的面积比也就是n/m=π/4,据此可以求出π的近似值要求,m的值在运行时通过input输入随机数种子设为100,也就是在for循环之前使用如下语句random.seed(100)提示: 产生[-1,1]之间的随机小数可以用random库的uniform函数【输入形式】整数【输出形式】保留3位小数【样例输入】100原创 2021-04-09 19:52:34 · 4994 阅读 · 2 评论 -
斐波那契数列python实现
【问题思路】斐波那契数列就是从第三位开始,每一位等于前两项之和。 前两位单独输出,从第三位开始利用for循环解决(当然也可以通过在for循环中增加判断语句的方式,不采用单独输出,但是每次循环都会调用if语句会增加运行时长)。【Python代码】#斐波那契数列num = int(input("请输入要输出的数列的项数:"))Fib1 = 1Fib2 = 1print('{:>8d}'.format(Fib1),end=" ")print('{:>8d}'.format(Fib2),原创 2021-04-09 18:20:42 · 3604 阅读 · 0 评论