- 博客(16)
- 收藏
- 关注
原创 python每日练习12--排序字符串
题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出: aABb 规则 3 :非英文字母的其它字符保持原来的位置。 如,输入: By?e 输出: Be?y 示例 输入 A Famous Saying: Much Ado About Nothing (2012/8). 输出 A aaAAbc dFgghh: ii
2021-01-27 23:48:04
404
原创 windows右键新建菜单内,添加md,删除不用选项
想在win10右键“新建”菜单栏内添加md的快捷方式,从网上扒很多资料都没修改成功,最终在自己摸索下搞定了,分享出来给需要的朋友。 前提:确保typora的安装路径为"C:\Program Files\Typora\Typora.exe" 新建txt文件,输入以下内容并保存为.reg结尾文件。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.md] @="Typora.exe" [HKEY_CLASSES_ROOT\.md\ShellNe
2021-01-19 23:58:30
630
原创 python每日练习11--合唱团
题目描述 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1<=i<=K)使得T1<T2<…<Ti-1Ti+1>…>TK。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。 注意不允
2021-01-18 23:07:33
1129
3
原创 python每日练习10--汽水瓶
题目描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 输入描述: 输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小
2021-01-16 21:51:02
596
原创 每日python练习9-简单密码
题目: 将一串明文,翻译为密文 规则: 明文中小写字母都变成对应的数字,abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9 密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。 明文中其他字符不变 密码中没有空格 输入描述: 输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾 输出描述: 输出渊子真正的密文 示例1 输入 YUANzhi198
2021-01-16 20:58:42
482
原创 每日python练习8-密码验证
题目 密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度大于2的子串重复 输入描述: 一组或多组长度超过2的子符串。每组占一行 输出描述: 如果符合要求输出:OK,否则输出NG 示例 输入 021Abc9000 021Abc9Abc1 021ABC9000 021$bc9000 输出 OK NG NG OK 代码: try: while True: str = input() length = len(str)
2021-01-16 19:45:38
702
原创 背包问题笔记
0-1背包: 01背包问题可描述为如下问题: 有一个容量为V的背包,还有n个物体。现在忽略物体实际几何形状,只要背包的剩余容量大于等于物体体积,那就可以装进背包里。每个物体都有两个属性,即体积w和价值v。 问:如何向背包装物体才能使背包中物体的总价值最大? 为什么不用贪心? 我在第一次做这个题目时考虑的是贪心算法。所谓贪心问题,就是每一步决策都采取最优解,按照此方案最后结果也是最优解。 为什么这个问题不能用贪心呢? 举个例子 我的背包容量为10,而且有4个物体,它们的体积和价值分别为 w1 = 8, v1
2021-01-10 22:33:07
371
原创 每日python练习7——输入一个正整数,按照从小到大的顺序输出它的所有质因子
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 ) 最后一个数后面也要有空格 num = int(input()) def division(num): for i in range(2, num + 1): if num % i == 0: print(str(i), end=' ') num = num // i division(num)
2021-01-08 00:19:45
6923
1
原创 每日python练习6--求两个数的最大公约数和最小公倍数
''' 方法1:辗转相除法(欧几里德算法)原理: 假设有两个数x和y,存在一个最大公约数z=(x,y),即x和y都有公因数z, 因为: x,y都能被z整除; 得: x和y的线性组合mx±ny也一定能被z整除。(m和n可取任意整数) 假设: x/y=n余c, 得: x=ny+c x-ny=c 因为: mx±ny能被z整除 得: x-ny(作为mx±ny的一个特例)就能被z整除,即x除y的余数c也能被z整除。 因为: c,y都能被z整除 得: my+nc也能被z整除 。。。 重复上
2021-01-05 22:44:28
968
原创 每日python练习5--进制转化
题目:写一个函数,将10进制数转化成2-36进制字符,或将2-36进制字符转化成10进制数。 # -*- coding: utf-8 -*- def convert(scale): if type(scale) != int or scale < 2 or scale > 36: raise ValueError S = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' referance = {x: y for x, y
2021-01-01 00:01:32
237
原创 每日python练习4---写一个大顶堆
方法1: 使用python自带heapq模块 import heapq import random randomlist = [random.randint(0, 100) for _ in range(10)] #将randomlist所有数变负数, newlist = [-x for x in randomlist] #借助heapq,生成负数最小数的小顶堆 heapq.heapify(newlist) #将负数的小顶堆取反,即是大顶堆 maxheaplist = [-x for x in newli
2020-12-29 23:42:15
278
1
原创 每日python练习3-堆
堆 应用场景: 给定一个无序数组,要求找出前 k 个最大数 堆排序 查找第K大(小)元素 优先队列 求动态集合中位数 定义: 堆(heap),又被为优先队列(priority queue),即优先级高的先出队。简易理解:堆是一种数学模型,一种排序方式。能满足以上应用场景。 性质: 堆必须符合以下两个条件: 是一棵完全二叉树。 任意一个节点的值都大于(或小于)左右子节点的值。 若父节点都大于等于左右子节点,则被称为大顶堆,反之,若父节点都小于等于左右子节点则为小顶堆。 内部实现机制: 以小顶堆举例:
2020-12-27 23:26:39
284
1
原创 每日python练习2
写一个函数检查练习1输出是否正确 import random import string def test(): for _ in range(0, 100): parameter = random.choice(['1', '2', '3']) str = ''.join(random.sample(string.ascii_letters + string.digits, 20)) return1 = disposal(str, parame
2020-12-25 23:19:01
205
原创 每日python练习1
题目: 1. 输入一个包含数字,小写字母,大写字母的字符串; 2. 输入一个参数,当参数为‘1’时,将字符串中小写字母按升序排列,当参数为‘2’时,将字符串中大写字母按升序排列,当参数为‘3’时,将字符串中数字按升序排列。 例如:字符串:‘41Aascd2b0vdDDC’,当参数为‘3’时,输出‘41Aabcd2d0svDDC’;当参数为‘3’时,输出‘01Aascd2b4vdDDC’ # -*- coding:utf-8 -*- def disposal(str, parameter):
2020-12-25 00:05:46
899
1
原创 连接工具使用技巧
1.XShell-上传、下载文件(使用sz与rz命令) 运行命令rz,接收文件(上传到Linux) 运行命令sz file, 发文件到windows上(保存的目录是可以配置) 常用参数 -a 以文本方式传输(ascii)。 -b 以二进制方式传输(binary)。 -e 对控制字符转义(escape),这可以保证文件传输正确。 如果能够确定所传输的文件是文本格式的,使用 sz -a files 如果是二进制文件,使用 sz -be files 安装步骤: yum insta...
2020-10-24 23:38:48
318
原创 python练习---完美的代价
问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!) 输入格式 第一...
2020-03-22 23:44:53
457
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅