python
python学习
师玉幺叔
如果感到迷茫,那就学习吧。
展开
-
day01-二分查找
一、二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。来源:力扣(LeetCode)解题思路:1.设置左右指针2.找到中间位置并判断该位置值是否等于 target3.nums[middle] == target 则返回该位置下标4.nums[middle] > target 则右侧指针移到中间5.nums[middle] < target 则左侧指针移原创 2022-03-26 11:42:59 · 349 阅读 · 0 评论 -
python每期一练1102
022.时间翻译官:请编写一个函数,接收一个整数数字的秒数,返回可读的时间格式:HH:MM:SS# @-*- coding: utf-8 -*-# @File: python每日一练1102.py# @Time: 2021/11/2 17:50# @Author: 师玉幺叔# @Software: Pycharm"""请编写一个函数,接收一个整数数字的秒数,返回可读的时间格式:HH:MM:SS。其中HH表示小时,范围是00-99;MM表示分钟数,范围是00-59;SS表示秒数,范围是00-5原创 2021-11-02 18:10:25 · 154 阅读 · 0 评论 -
python每期一练1028
021.三五成群:如果我们列出10以下的能够被3和5整除的自然数,就会得到3, 5, 6和9,并且总和是23。那么请根据这个规律,编写一个函数,接收一个正整数num,找出0到这个数(不包含)之间所有能被3或者5整除的数字之和。备注:如果一个数字同时满足被两个数整除则只取一次,例如15。备注:如果一个数字同时满足被两个数整除则只取一次,例如15。)题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1028.py# @Time: 2021原创 2021-10-28 10:13:26 · 128 阅读 · 0 评论 -
python每期一练1027
020.对对碰:请编写一个函数,接收一个正整数n,生成一个包含成对元素的列表,需要符合条件0<= x <= y <= n,并且保持升序排列。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1027.py# @Time: 2021/10/27 17:31# @Author: 师玉幺叔# @Software: Pycharm"""请编写一个函数,接收一个正整数n,生成一个包含成对元素的列表,需要符合条件0<原创 2021-10-27 17:37:22 · 105 阅读 · 0 评论 -
python每期一练1026
019.装满空间:给定一个顺序排列的列表sizes和数字n,分别代表顺序存储的文件大小和磁盘容量,请编写一个函数,求出该磁盘最多可以顺序存储几个文件。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: 1026.py# @Time: 2021/10/26 17:13# @Author: 师玉幺叔# @Software: Pycharmprint(end='')"""给定一个顺序排列的列表sizes和数字n,分别代表顺序存储的文件大小和磁盘容量,请编原创 2021-10-26 17:23:28 · 152 阅读 · 0 评论 -
python每期一练1022
018.冗余编译器:给定一个字符串,请编写一个函数,检测其中的字符,如果只出现1次则编译成左括号,如果出现多次则编译成右括号。忽略字母的大小写。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1022.py# @Time: 2021/10/22 13:49# @Author: 师玉幺叔# @Software: Pycharm"""给定一个字符串,请编写一个函数,检测其中的字符,如果只出现1次则编译成"(",如果出现多次则编译成原创 2021-10-22 13:59:52 · 114 阅读 · 0 评论 -
python每期一练1021
017.统计频率:给定一个字符串words和分隔符sep,请编写一个函数,统计字符串words中每个元素出现的次数,使用sep进行拼接。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1021.py# @Time: 2021/10/21 11:03# @Author: 师玉幺叔# @Software: Pycharm"""给定一个字符串words和分隔符sep,请编写一个函数,统计字符串words中每个元素出现的次数,使用se原创 2021-10-21 11:12:39 · 91 阅读 · 0 评论 -
python每期一练1020
016.失踪的数字:给定一个连续的数字列表,元素从数字1开始。但是发现其中有且仅有一个数字失踪了。请编写一个函数,找出这个失踪的数字。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1020.py# @Time: 2021/10/20 10:24# @Author: 师玉幺叔# @Software: Pycharm"""给定一个连续的数字列表,元素从数字1开始。但是发现其中有且仅有一个数字失踪了。请编写一个函数,找出这个失踪的原创 2021-10-20 10:42:41 · 99 阅读 · 0 评论 -
python每期一练1019
015.字典对调:给定一个键值都是字符串的字典,请编写一个函数,将原来的键和值进行对调。题目来源:codcwars"""给定一个键值都是字符串的字典,请编写一个函数,将原来的键和值进行对调。示例输入:{'Ice': 'Cream', 'Age': '21', 'Light': 'Cream', 'Double': 'Cream'},输出:{'Cream': ['Ice', 'Light', 'Double'], '21': ['Age']}题目难度:简单"""def switch_原创 2021-10-19 11:05:34 · 81 阅读 · 0 评论 -
python每期一练1018
014.列表对比:将列表a中的同时也在b列表中出现的元素移除,并且保留原有的位置顺序。函数返回对比后的列表。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1017.py# @Time: 2021/10/16 14:00# @Author: 师玉幺叔# @Software: Pycharm"""给定两个数字列表a 和 b,请编写一个函数list_diff(a, b),将列表a中的同时也在b列表中出现的元素移除,并且保留原有的原创 2021-10-18 15:41:26 · 96 阅读 · 0 评论 -
python每期一练1017
013.两个最大数字:给定一个数字列表,请编写一个函数,找出其中最大的两个不同数字,并且返回结果按照从大到小排列。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每日一练1017.py# @Time: 2021/10/17 14:00# @Author: 师玉幺叔# @Software: Pycharm"""给定一个数字列表,请编写一个函数,找出其中最大的两个不同数字,并且返回结果按照从大到小排列。示例:输入: [4, 10,原创 2021-10-18 10:50:05 · 84 阅读 · 0 评论 -
python每期一练1016
012.与众不同:请编写一个函数,找出这个与众不同的数字。列表元素总个数是奇数个。题目来源:codcwars# @-*- coding: utf-8 -*-# @File: python每期一练1016.py# @Time: 2021/10/16 14:00# @Author: 师玉幺叔# @Software: Pycharm"""给定一个由正整数组成的列表,其中有且仅有一个与其他元素都不相同的数字,请编写一个函数,找出这个与众不同的数字。列表元素总个数是奇数个。示例:输入:[1,原创 2021-10-18 10:30:19 · 121 阅读 · 0 评论 -
python每期一练1015
011.交通信号灯:请编写一个函数,接收一个表示当前灯颜色的字符串,返回下一个信号灯颜色。题目来源:codcwars"""交通信号灯切换的规律依次是:红灯过后是绿色,绿灯过后是黄灯,黄灯过后是红灯。请编写一个函数,接收一个表示当前灯颜色的字符串,返回下一个信号灯颜色。示例:输入:“red”,输出:“green”题目难度:简单"""def update_light(current: str) -> str: lights = { 'red': 'green',原创 2021-10-15 10:32:18 · 100 阅读 · 0 评论 -
python每期一练1014
010.退格字符串:请编写一个函数,接收一个含有退格符号的字符串,输出退格后的最终结果。题目来源:codcwars"""假设字符串中的”#“符号表示的是一个退格(删除),例如在字符串"a#bc#d"其实最终结果是"bd"。请编写一个函数,接收一个含有退格符号的字符串,输出退格后的最终结果。示例:输入:" abc#d##c",输出:“ac”输入:“abc##d######”,输出:""题目难度:简单"""def backspace_str(word: str) -> str:原创 2021-10-14 15:32:29 · 87 阅读 · 0 评论 -
python每期一练1013
009.完美列表:一个完美列表是指,在这个列表中的每个数字n,其n-1或者n+1也存在于列表中。请编写一个函数,判断给定的列表是否是完美列表。题目来源:codcwars"""完美列表:一个完美列表是指,在这个列表中的每个数字n,其n-1或者n+1也存在于列表中。请编写一个函数,判断给定的列表是否是完美列表。示例:输入:[2, 10, 9, 3],输出:True解析:因为2=3-1,10=9+1,9=10-1,3=2+1,因此它是完美列表。题目难度:简单"""def is_nice(原创 2021-10-13 16:48:21 · 172 阅读 · 0 评论 -
python每期一练1012
008.赫敏在一家印刷公司上班,她的一项工作就是统计一本书籍页码中包含的所有页码数字的个数(从1开始,包含结束页码)。比如,一本4页的书包含4个页码数字(1,2,3,4)。请编写一个函数,给定一个页数,求出一共出现的数字个数。题目来源:codcwars"""赫敏在一家印刷公司上班,她的一项工作就是统计一本书籍页码中包含的所有页码数字的个数(从1开始,包含结束页码)。比如,一本4页的书包含4个页码数字(1,2,3,4)。请编写一个函数,给定一个页数,求出一共出现的数字个数。示例:输入:4,输出:4原创 2021-10-12 14:29:06 · 117 阅读 · 0 评论 -
python每期一练1009
@TOC# @-*- coding: utf-8 -*-# @File: python每日一练1009.py# @Time: 2021/10/9 15:13# @Author: 师玉幺叔# @Software: Pycharm"""链式加法: 1.编写一个加法函数add(),接收纯数字作为参数,并且可以实现一个有趣的链式加法,也就是如果我们调用add(1)(2)(3)可以得到6。 2.示例: 输入: add(1),返回:1 输入: add(1)(2)(3),原创 2021-10-09 15:15:51 · 84 阅读 · 0 评论 -
python每期一练1008
006.[自恋数字」表示的是一个正整数,它的字面值刚好等于其每个组成数字按照总个数的幂次方的总和。给定一个数字,请编写一个函数判断它是否是“自恋数字”# @-*- coding: utf-8 -*-# @File: 33.py# @Time: 2021/10/8 10:54# @Author: 师玉幺叔# @Software: Pycharm"""[自恋数字」表示的是一个正整数,它的字面值刚好等于其每个组成数字按照总个数的幂次方的总和。给定一个数字,请编写一个函数判断它是否是“自恋数字”。原创 2021-10-08 11:09:55 · 103 阅读 · 0 评论 -
python每期一练0918
005.请编写一个函数,只使用一行代码返回1~100的所有偶数,和自身相乘结果组成的列表集合# @-*- coding: utf-8 -*-# @Time: 2021/9/18 22:23# @Author: 师玉幺叔# @Software: Pycharm""" 请编写一个函数,只使用一行代码返回1~100的所有偶数,和自身相乘结果组成的列表集合。 返回结果示例:[1, 4, 9......]"""def solution() -> list: retur原创 2021-09-18 22:31:48 · 131 阅读 · 0 评论 -
python每期一练0917
@[TOC](004.给定两个字符串s1和s2,s1可能是任意字母,例如s1 = abccd。s2可以是任意字母,例如s2 = xyyz。和s1不同之处是,s2中有可能包含一个星号*,它可以匹配任意字符(一个或多个)。请编写一个函数compare(s1, s2) 来匹配s1和s2,如果匹配则返回True,否则返回False。)"""给定两个字符串s1和s2,s1可能是任意字母,例如s1 = abccd。s2可以是任意字母,例如s2 = xyyz。和s1不同之处是,s2中有可能包含一个星号*,它可以匹配原创 2021-09-17 22:11:15 · 234 阅读 · 0 评论 -
python每期一练0916
003.给定一个文本字符串words和注释符号列表markers,请编写函数,将其中注释标记后的文本都去除,包括字符串末尾的空格题目来源:codcwars""" 给定一个文本字符串words和注释符号列表markers,请编写函数,将其中注释标记后的文本都去除,包括字符串末尾的空格。 示例: 输入:("apples, pears # and bananas", ["#"]) 输出:"apples, pears" 输入:"bananas !apples" 输原创 2021-09-16 17:26:24 · 122 阅读 · 0 评论 -
python每期一练0915
002.给定一个数字,请编写一个函数,求出绝对值最小的组合。备注:组合时0不可排在前面题目来源:LeetCode""" 给定一个数字,请编写一个函数,求出绝对值最小的组合。 备注:组合时0不可排在前面"""# 方式一:将数字转换成字符串,然后利用列表进行排序def min_permutation01(num): """ 将整数降序排序,且组合时0排在最后面 :param num: 需要排序的整数 :return: 排序后的整数 "原创 2021-09-15 17:56:16 · 78 阅读 · 0 评论 -
python每期一练0914
列表从左侧去重""" 给定一个由正整数组成的列表nums,请编写一个函数,若某个元素出现重复,则将其左侧相同值的元素都移除,并返回余下的列表"""from collections import OrderedDictdef remove_left_number(target_list): # 利用OrderedDict创建字典,OrderedDict会根据放入元素的先后顺序进行排序 dic01 = OrderedDict() # 从后往前遍历列表 for i原创 2021-09-14 14:05:25 · 97 阅读 · 0 评论 -
python之2048小游戏
记录下今天写的2048小游戏代码~路漫漫其修远兮,仍需自我修炼。目录bill.py""" 游戏逻辑控制器,负责处理游戏的核心算法"""from model import DirectionModelfrom model import Locationimport randomclass GameCoreController: def __init__(self): self.__list_merge = None self.__list_原创 2021-05-11 18:43:05 · 89 阅读 · 0 评论 -
python之迭代
for循环的原理: 1.获取迭代器 2.循环获取下一个元素 3.遇到异常停止循环可以被for循环的原理--能被for循环的对象必须具有__iter__()方法(即可迭代对象)PS:具有__iter__()方法的对象就是可迭代对象# 1.获取迭代器iterator = list01.__iter__()# 2.循环获取下一个元素while True: try: item = iterator.__next__() print.原创 2021-04-26 15:49:44 · 137 阅读 · 1 评论