python语法练习
shadow.Q_Q
从今天起,安静的做个码农
展开
-
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 · 291 阅读 · 0 评论 -
每日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 · 347 阅读 · 0 评论 -
每日python练习8-密码验证
题目密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例输入021Abc9000021Abc9Abc1021ABC9000021$bc9000输出OKNGNGOK代码:try: while True: str = input() length = len(str)原创 2021-01-16 19:45:38 · 551 阅读 · 0 评论 -
每日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 · 6528 阅读 · 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 · 794 阅读 · 0 评论 -
每日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 · 134 阅读 · 0 评论 -
每日python练习4---写一个大顶堆
方法1:使用python自带heapq模块import heapqimport randomrandomlist = [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 · 161 阅读 · 1 评论 -
每日python练习3-堆
堆应用场景:给定一个无序数组,要求找出前 k 个最大数堆排序查找第K大(小)元素优先队列求动态集合中位数定义:堆(heap),又被为优先队列(priority queue),即优先级高的先出队。简易理解:堆是一种数学模型,一种排序方式。能满足以上应用场景。性质:堆必须符合以下两个条件:是一棵完全二叉树。任意一个节点的值都大于(或小于)左右子节点的值。若父节点都大于等于左右子节点,则被称为大顶堆,反之,若父节点都小于等于左右子节点则为小顶堆。内部实现机制:以小顶堆举例:原创 2020-12-27 23:26:39 · 165 阅读 · 1 评论 -
每日python练习2
写一个函数检查练习1输出是否正确import randomimport stringdef 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 · 118 阅读 · 0 评论 -
每日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 · 614 阅读 · 1 评论