
python练习
进击的python924
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python百例练习之第十九例-sorted()结合itemgetter排序
问题您需要编写程序以升序对(名称,年龄,身高)元组进行排序,其中名称是字符串,年龄和身高是数字。元组由控制台输入。排序标准是:1:根据名称排序;2:然后根据年龄排序;3:然后按分数排序。优先级是名称>年龄>得分。如果给出以下元组作为程序的输入:Tom,19,80John,20,90Jony,17,91Jony,17,93Json,21,85然后,程序的输出应为:[(‘John’,‘20’,‘90’),(‘Jony’,‘17’,‘91’),(‘Jony’,‘17’,‘93原创 2020-05-27 11:05:32 · 821 阅读 · 0 评论 -
python百例练习之第十八例-re.search
问题网站要求用户输入用户名和密码进行注册。编写程序以检查用户输入的密码的有效性。以下是检查密码的标准:(分析:也就是说我们对于大写字母、小写字母、数字、符号这四种类型的字符串,只要检查到一个就好,不需要全部都找到)[az]之间至少1个字母[0-9]之间至少1个数字[AZ]之间至少1个字母[$#@]中的至少1个字符最小交易密码长度:6交易密码的最大长度:12您的程序应接受一系列用逗号分隔的密码,并将根据上述条件进行检查。符合条件的密码将被打印,每个密码之间用逗号分隔。例如果输入以下密原创 2020-05-26 14:39:34 · 5368 阅读 · 0 评论 -
python百例练习之第十七例-连续输入和if not
问题编写一个程序,该程序根据控制台输入的交易日志来计算银行帐户的净额。事务日志格式如下所示:D 100W 200D表示存款,W表示提款。假设将以下输入提供给程序:D 300D 300W 200D 100然后,输出应为:500提示:如果将输入数据提供给问题,则应假定它是控制台输入。程序第一种:total = 0while True: #利用while保证不断输入 a = input() #input好像是能自动识别换行符来确定一次输入的结束,因为我把上面的输入复制原创 2020-05-26 12:01:59 · 518 阅读 · 0 评论 -
python百例练习之第十六例-列表推导
问题使用列表推导对列表中的每个奇数取平方。该列表由一系列逗号分隔的数字输入。假设将以下输入提供给程序:1,2,3,4,5,6,7,8,9然后,输出应为:1,9,25,49,81提示:如果将输入数据提供给问题,则应假定它是控制台输入。程序以下两种方法都能够实现上面的问题。第一种:a = input('请以逗号分隔输入:')b = [int(m) for m in a.split(',')]m = []for x in b: if x%2 != 0: m.ap原创 2020-05-21 16:27:00 · 2099 阅读 · 0 评论 -
python百例练习之第十五例-%占位符
问题编写一个程序,以给定的数字作为a的值来计算a + aa + aaa + aaaa的值。假设将以下输入提供给程序:9然后,输出应为:11106提示:如果将输入数据提供给问题,则应假定它是控制台输入。程序两种答案都能够实现,两种答案思路相同,但是用到的工具不同。第一种如下,就是通过字符串的连接形成需要的字符串然后再转换成int型计算即可。a = input('请输入:')b = int(a) + int(a+a) +int(a + a +a) + int(a + a + a + a)p原创 2020-05-21 14:46:50 · 725 阅读 · 0 评论 -
python百例练习之第八例-isalpha()、isdigit()、isupper()、islower()方法
问题编写一个接受句子并计算字母和数字数量的程序。假设将以下输入提供给程序:hello world! 123然后,输出应为:LETTERS 10DIGITS 3提示:如果将输入数据提供给问题,则应假定它是控制台输入。程序s = input()d={"DIGITS":0, "LETTERS":0} #因为要分别按字母和数字去数数量,字母对应一个数量,数字对应一个数量,正好形成两个键值对for c in s: if c.isdigit():#检测字符串是否只由数字组成。原创 2020-05-19 17:26:13 · 1400 阅读 · 0 评论 -
python百例练习之第七例-数值类型转换以及字符串的使用
问题编写一个程序,它将找到介于1000和3000之间的所有此类数字(均包括在内),以使该数字的每个数字均为偶数。所获得的数字应以逗号分隔的顺序打印在一行上。(理解:这个例子很简单,但是需要字符串和整型换来换去,并利用索引去取字符串里面的字符)提示:如果将输入数据提供给问题,则应假定它是控制台输入。代码a = []for i in range(1000,3001): n = str(i) if int(n[0]) %2 ==0 and int(n[1]) %2 ==0 and i原创 2020-05-18 15:08:27 · 2155 阅读 · 0 评论 -
python百例练习之第五例-二进制转化为十进制
问题编写一个程序,该程序接受以逗号分隔的4位二进制数字序列作为输入,然后检查它们是否可被5整除。被5整除的数字将以逗号分隔的顺序打印。(理解:可以通过取余并对余数进行操作来做整除判断)例:0100,0011,1010,1001 (理解:代码中需要将二进制变成十进制)然后输出应为:1010注意:假设数据是通过控制台输入的。提示:如果将输入数据提供给问题,则应假定它是控制台输入。代码c = input('请以逗号为间隔输入:').split(',')a = [] #创建一个空列原创 2020-05-18 14:12:19 · 1873 阅读 · 1 评论 -
python百例练习之第四例-sort()、sorted()
问题编写一个程序,该程序接受一系列由空格分隔的单词作为输入,并在删除所有重复的单词并将其按字母数字顺序排序后打印这些单词。假设将以下输入提供给程序:hello world and practice makes perfect and hello world again然后,输出应为:again and hello makes perfect practice world提示:如果将输入数据提供给问题,则应假定它是控制台输入。我们使用set容器自动删除重复的数据,然后使用sorted()对数据进行原创 2020-05-18 11:35:45 · 1663 阅读 · 1 评论 -
python百例练习六-列表推导
问题编写一个程序,该程序将X,Y两位数字作为输入并生成一个二维数组。数组的第i行和第j列中的元素值应为i * j。注意:i = 0,1 …,X-1; j = 0,1…,Y-1。例:假设将以下输入提供给程序:3,5然后,程序的输出应为:[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8]]注意:如果将输入数据提供给问题,则应将其假定为以逗号分隔形式的控制台输入。程序通俗的理解了一下二维数组,一个数组里面套着多个数组,里面的数组数量就是列数,也就是一个数组是一个列;每个数组里面的原创 2020-05-17 22:25:45 · 961 阅读 · 0 评论 -
python百例练习之第三例-字典dict()
问题使用给定的整数n,编写程序以生成包含(i,i * i)的字典,该字典为1到n之间的整数(都包括在内)。然后程序应打印字典。假设输入:8然后,输出应为:{1:1、2:4、3:9、4:16、5:25、6:36、7:49、8:64}提示:如果将输入数据提供给问题,则应假定它是控制台输入。考虑使用dict()我所编写的程序def zidian(n): #由于第二例我直接用的fo...原创 2020-04-26 22:24:57 · 2425 阅读 · 0 评论 -
python百例练习之第二例-函数的递归调用
问题编写一个程序,可以计算给定数字的阶乘。假设将以下输入提供给程序:8然后,输出应为:40320我所编写的程序n = int(input('请输入数字:')) #此处要注意,在获取输入的内容时都默认为是字符串类型,所以要转换为数值型才能在接下来的语句中调用s = 1 #所s没有初始值,则无法在下面设置自身相乘for m in range(n): #利用for循环实现不断相乘...原创 2020-04-23 14:44:45 · 654 阅读 · 0 评论 -
python百例练习之第一例(包含join()用法)
程序要求编写一个程序,查找所有可以被7整除但不是5的倍数的数字。在2000到3200之间(均包括在内)。所获得的数字应以逗号分隔的顺序打印在一行上。解决代码我自己敲出来的代码:for i in range(2000, 3201):if i%7 == 0 and i%5 != 0:l.append(i)print(l)输出结果:[2002, 2009, 2016, 2023, 2...原创 2020-04-20 23:19:47 · 1435 阅读 · 2 评论