python作业
做做练习题,提升编程思维
菜鸟圣美
湖北省的一名小可爱,期待与大佬们一起交流学习
展开
-
练习题:有两个长度一样列表a和b,它们里面的元素都是整形的数值,要求:通过交换两个列表的元素,使得sum(a) 和 sum(b)的差值最小
提示如下: 1.将两序列合并为一个序列,并排序,为列表Source 2.拿出最大元素Big,次大的元素Small 3.在列表Source中找出最大值和最小值,将最大值和Small放在一起组成列表 c,将最小值和Big放在一起组成列表 d 4.再在列表Source中找出最大值和最小值,重新计算sum(c)和sum(d),将最大值放在重新计算后和最小的列表里面,最小值放在另一个列表里面 5.重复第4步,直到分完a = [2,6,7,9,1]b = [3,8,10.原创 2022-03-18 20:49:57 · 443 阅读 · 0 评论 -
练习题:写一个函数实现将包含100个元素的列表随机分成12分,每份至少有2个元素
li1 = [i for i in range(100)]def sui(li1): dict1 = {} k = int(len(li1)/12) x = 0 for j in range(0,len(li1),k): x += 1 dict1.setdefault(f'第{x}份:',li1[j:j+k]) print(dict1)sui(li1)原创 2022-03-18 20:48:19 · 1032 阅读 · 3 评论 -
练习题:给定一个列表和一个值,列表中数字两两相加如果有等于这个值的,就返回这两个值的索引,否则返回[-1, -1],
比如:(1). 给定列表[1, 5, 7, 20], 给定值12,返回[1,2](2). 给定列表[1, 2, 6, 8 ], 给定值2,返回[-1, -1]li1 = [1,5,7,20]li2 = [1,2,6,8]zhi1 = 12zhi2 = 2def shen(): for i in li2: for j in li2: if i == j: continue elif i .原创 2022-03-18 20:46:32 · 1348 阅读 · 0 评论 -
练习题:假设有一个英文文本文件,编写一个程序读取其内容,并将里面的大写字母变成小写字母,小写字母变成大写字母
with open("圣美.txt","w",encoding='utf-8')as f1: f1 = io.StringIO() f1.write("asdfghjkl\nQWERTYUIOP") k = f1.getvalue() print(k.swapcase())原创 2022-02-27 21:33:43 · 1954 阅读 · 0 评论 -
练习题:定义一个函数,输入字符串,如果字符串是顺序的则返回‘UP’,如果是倒叙的则返回‘DOWN’, 如果是乱序的则返回False
str1 = input()str2 = list(str1)def faun(): global str2 if str2 == sorted(str2): return 'UP' elif str2 == sorted(str2,reverse=True): return 'DOWN' else: return Falseprint(faun())原创 2022-02-27 21:31:58 · 469 阅读 · 0 评论 -
练习题:实现isPrime()函数,参数是整数,如果整数是质数,返回True,否则返回False
提示:质数就是只能够被1和0还有它自身整除的数。例如23只能够被0、1 还有自身23整除,使用到了for循环。def isPrime(): sum = int(input('请输入一个整数:')) if sum <= 2: return False else: for j in range(2,sum): if sum%j == 0: return False ..原创 2022-02-27 21:30:48 · 2820 阅读 · 0 评论 -
练习题:一个列表由四个元组组成,每个元组都是四个数字组成,现在要求对这个列表排序,排序规则是按照每个元组的第二个元素排序
list1 = [(1,2,3,4),(5,6,7,8),(9,3,10,30),(11,12,14,13)]print(f'原列表{list1}')list1.sort(key=lambda x: x[1]) #匿名函数列表排序print(f'排序后的列表{list1}')原创 2022-02-27 21:29:12 · 553 阅读 · 0 评论 -
练习题:判断用户输入的是不是一个手机号码
提示:要求判断电话长度为11,开头数字为1,全为数字组成。while True: shou = input('输入一个手机号码:') shou = shou.strip() #去除两端空格 if len(shou) != 11: #判断手机号是否为11位 print(f'您输入的手机号码({shou})有误,提示:电话长度为11') if shou[0] != '1': #判断手机号的第一位是否为1 pr原创 2022-02-27 21:27:58 · 1439 阅读 · 0 评论 -
练习题:利用26个字母和10个数字,随机生成10个8位密码
import randomtxt = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789"for s in range(1,11): num = random.choices(txt,k=8) str_a = ''.join(num) #列表转字符串 print(f'第{s}个密码是:{str_a}')原创 2022-02-27 21:26:33 · 1038 阅读 · 0 评论 -
练习题:统计一串字符中,每个字母 a~z的出现频率,忽略大小写
str_1 = input('\n请输入任意字母:') #输入要统计的字符串str_1 = str_1.lower() #忽略大小写,可将字符串全部转小写dict_c = {} #创造空字典#循环追加for x in str_1: dict_c.update({x:str_1.count(x)})print(f'频率:{dict_c}')...原创 2022-02-27 21:25:21 · 1170 阅读 · 0 评论 -
练习题:找出两个列表中相同元素,并打印出来
list_1 = [i for i in range(4)] #列表1list_2 = [j for j in range(8)] #列表2print(list_1)print(list_2)set_1 = set(list_1) & set(list_2) #用集合的交集,获得相同的元素for q in set_1: print(q,end=' ') #用for循环打印出来...原创 2022-02-27 21:24:16 · 337 阅读 · 0 评论 -
练习题:一个列表中有重复元素,编写程序,移除重复元素
list1 = [i for i in range(10) for i in range(4)] #用循环创建一个列表print(f'list1删除前{list1}')for cou in list1: if list1.count(cou) != 1: #对每个元素进行统计,判断是否重复 del list1[list1.index(cou)] #若重复,则删去 list1 = list1.copy() #复制原列表,创建新列表print(f'.原创 2022-02-27 21:22:53 · 1150 阅读 · 0 评论 -
练习题:猜数字
猜数字小游戏import random #导入模块randomwhile True: #使循环能持续下去 x = int(input('猜猜这个数:')) y = random.randint(0,100) #随机生成一个数,导入变量y print(y) if x <= 100: if x == y: print("恭喜你,猜对了") break else:原创 2022-01-23 21:43:39 · 138 阅读 · 0 评论 -
练习题:随机生成一套题目
随机生成一套题目import random #导入randomcount = 0for count in range(100): #导入循环 x = random.randint(1,9) #随机生成数字1~9,导入变量y y = random.randint(1,9) #随机生成数字1~9,导入变量y user_in = int(input(f'{x}*{y}=')) #随机一道乘法题目 if user_in == x*y: pri.原创 2022-01-23 20:07:08 · 4781 阅读 · 0 评论 -
练习题:输入三个整数,要求从小到大输出。
list1=[]for i in range(1,4): x = input('请输入第%s个数:'%i) list1.append(x)list1.sort()print(list1)原创 2022-01-22 14:04:18 · 311 阅读 · 0 评论 -
练习题:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
a = 2b = 1s = 0for i in range(1,21): s += a/b k = a a = a+b b = kprint('数列2/1,3/2,5/3,8/5,13/8,21/13...前20项之和= %2f'%s)原创 2022-01-21 17:34:19 · 648 阅读 · 0 评论 -
练习题:求和
求1+2!+3!+4!...+20!的和n = 0s = 0t = 1for n in range(1,21): t *= n s += tprint('1+2!+3!+4!...+20!的和= %d'%s)原创 2022-01-21 17:26:40 · 197 阅读 · 0 评论 -
练习题:一个整数, 它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?
import mathfor i in range(100000): x = int(math.sqrt(i + 100)) y = int(math.sqrt(i + 268)) if(x*x == i+100)and(y*y == i+268): print(i)原创 2022-01-17 15:16:47 · 885 阅读 · 0 评论 -
练习题:从键盘输入当月利润I, 求应发放奖金总数?
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10 万元时, 奖金可提10%; 利润高于10 万元, 低于20 万元时, 低于10 万元的部分按10%提成, 高于10 万元的部分,可提成7.5%; 20 万到40 万之间时, 高于20 万元的部分, 可提成5%; 40 万到60 万之间时高于40 万元的部分,可提成3%;60 万到100 万之间时,高于60 万元的部分,可提成1.5%,高于100 万元时, 超过100 万元的部分按1%提成, 从键盘输入当月利润I, 求应发放奖金总数?bon.原创 2022-01-16 14:23:03 · 542 阅读 · 0 评论 -
练习题:有1、2、3、4个数字, 能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析: 可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。for i in range(1,5): for n in range(1,5): for j in range(1,5): if(i!=n)and(i!=j)and(n!=j): print(i,n,j)...原创 2022-01-16 13:23:29 · 196 阅读 · 0 评论 -
练习题:一个时间格式的整数:20210118,利用数值计算取出它的年月日(呈现出2020年01月18日)
time = str(input("请输入时间(如:20210118):"))print(time[0:4],end="年")print(time[4:6],end="月")print(time[6:8],end="日")原创 2022-01-15 14:54:10 · 271 阅读 · 0 评论 -
练习题:让用户提供半径,然后计算出对应圆的周长和面积
import mathr = float(input("输入一个半径r="))c = math.pi*r*2s = math.pi*r**2print("圆的周长C=",c)print("圆的面积S=",s)原创 2022-01-15 14:52:02 · 349 阅读 · 0 评论 -
练习题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
i = 1s = 100h = 100n = int(input())while i <= n: print("第",i,"次落地共经过多少米:",s,"米") i += 1 h /= 2 s += h*2print("反弹高度:",h,"米")原创 2022-01-13 03:25:40 · 379 阅读 · 0 评论 -
练习题:求1-2+3-4+5 ... 99的所有数的和
i = 0j = 1while i <= 99: if i%2 == 1: i += j else: i -= j j += 1print(i)原创 2022-01-13 00:58:29 · 864 阅读 · 0 评论 -
练习题:求1~100所有偶数
i = 1while i <= 100: if i%2 == 0: print(i) i += 1原创 2022-01-13 00:44:58 · 214 阅读 · 0 评论 -
练习题:求1~100所有奇数
i = 1while i <= 100: if i%2 == 1: print(i) i += 1原创 2022-01-13 00:42:08 · 108 阅读 · 0 评论 -
练习题:求1~100所有整数的和
i = 1j = 0while i <= 100: j += i i += 1print(j)原创 2022-01-13 00:34:38 · 128 阅读 · 0 评论 -
练习题:多分支运用(用户输入他的年龄, 程序进行判断)
sheng = int(input("请输入你的年龄:"))if sheng >= 90: input("再⻅了这个世界.")elif sheng >= 70: input("⼈⽣就快结束了的⼀个老屁孩⼉.")elif sheng >= 60: input("活着还不错的老屁孩⼉")elif sheng >= 50: input("⾃⼰⻢上变成不听话的老屁孩⼉")elif sheng >= 40: input("家⾥有个不听话.原创 2022-01-13 00:16:43 · 322 阅读 · 0 评论 -
练习题:猜年龄(允许⽤户猜3次,若还不对,告诉他,你真笨,还想继续猜么? 如果⽤户选择yes, 就让他继续,如果选择no, 就退出)
允许⽤户猜3次,若还不对,告诉他,你真笨,还想继续猜么? 如果⽤户选择yes, 就让他继续,如果选择no, 就退出black_gf_age = 25count = 0while True: count += 1 if count <= 3: guess = int(input("猜猜姑娘多大了:")) if guess > black_gf_age: print("猜的太大了,往小里试试...")原创 2022-01-12 22:34:39 · 198 阅读 · 0 评论 -
练习题:打印9X9乘法表
for i in range(1,10): for j in range(1,i+1): print (f"{i}X{j}={i*j}",end=" ") print()原创 2022-01-12 22:10:50 · 95 阅读 · 0 评论 -
练习题:写个匹配成绩的⼩程序,成绩有ABCDE 5个等级
fen = int(input("请输入你的成绩:"))if 0 <= fen <= 100: if fen >= 90: print("A优秀。") elif fen >= 80: print("B良好。") elif fen >= 60: print("C及格。") elif fen >= 40: print("D不及格。") elif fen >= 0:.原创 2022-01-12 21:47:09 · 677 阅读 · 0 评论