当前位置:首页 » 《关注互联网》 » 正文

重庆大学python希冀题库

28 人参与  2024年12月13日 08:01  分类 : 《关注互联网》  评论

点击全文阅读


初学者,大一之前从未接触过任何与编程相关的,所以下边的代码仅仅是在希冀上显示运行正确了,有冗余和不妥之处请见谅,也可以私信或评论区提出来,一起进步~

第二到三章

程序片段题

小费,税和消费总额

93678b879f4fcae5acf13024f3983524.png

编程题

平面上两点距离坐标

869dd493102e438a5bcc008fcfd9a5d2.png

第四章

程序片段题

1.打印拐形图案

36ec640cd3ba06edfe758255164f9812.png

ord()——输出字母对应的ASCII值,chr()——刚好与其作用相反

'sep'.join()——对字符串,元组,列表中元素以指定的分隔符进行连接

生成一个新的字符串,sep指分隔符,可以为空,a可为字符串,元组,字典,列表(注意对字符串操作的话,是对单个字母)

2.计算列表的度

e56ec2d0b1e86735ccaa419daad2b2e1.png

3.把长度为2n的列表分成n对,使得每一对的最小值的和最大

744613355a31a4c75adba05d9b3b28ee.png

先找出什么样的排序可以使最小值和最大,再写

4.斐波那契数列

e7b6b1f9d996ea530e4829727bc56b9a.png

8823e68c1926723cfdcda5b13da70565.png

(但数字较大时,运用递归运行时间更长)

5.找出不是共有元素,升序输出

deae9e81e0e3e9be9e2220d9de1aa51a.png

6.使用列表生成指定范围偶数列

e79a2c213ef165c2d4e4ad61c5e83524.png

7.数列元素重复n次后平方形成新列表,去除重复元素

86535d8a36fbf280bcbfb9cf08f7427c.png

编程题

1.把列表中个位正整数组合成一个最大的整数

lst=eval(input())lst.sort(reverse=True)sum=''for i in range(len(lst)):    sum+=str(lst[i])print(int(sum))    
lst=eval(input())lst.sort(reverse=True)max=''.join(map(str,lst))print(max)

2.找出只出现一次的数并升序输出

lst=eval(input())lst1=[]for x in lst:    if lst.count(x)==1:        lst1.append(x)if lst1==[]:    print("False")else:    lst1.sort()    print(','.join(map(str,lst1)))

3.计算平均值并输出整数部分(根据结果判断是否输出小数部分)

lst=eval(input())avg=sum(lst)/len(lst)if avg%1==0:    print("%d" %(avg))else:    print("%.2f" %(avg))

4.列表生成及循环左移

n=eval(input())lst=list(range(1,n+1))rst=lst.copy()for x in range(len(lst)-1):    lst[x]=rst[x+1]lst[-1]=rst[0]print(lst)

(题目要求用for循环)

n=eval(input())lst=list(range(1,n+1))lst.remove(1)lst.append(1)print(lst)

5.删除列表重复值

lst=eval(input())for x in lst[::-1]:    a=lst.count(x)    while a>1:        lst.remove(x)        a=a-1print(lst)
lst=eval(input())nst=lst.copy()for x in lst:    a=nst.count(x)    while a >1:        nst.remove(x)        a=a-1print(nst)

6.姓名和成绩配对后形成一个列表

lName=input().split(",")lGuade=eval(input())lst=[]for x in range(len(lName)):    lst.append([lName[x],lGuade[x]])print(lst)

7.生成指定长度的等差数列

n,m,l=eval(input())lst=range(n,n+m*l,l)print(list(lst))

 8.从一个列表中取出第n个元素,重复m次放到末尾

str=input()lst=[int(x) for x in str.split(',')]n,m=eval(input())if n<len(lst) and n>=-len(lst):    lst.extend([lst[n]]*m)    print(lst)else:    print("error")

9.删除列表中指定位置元素

lst=eval(input())n,m=eval(input())if n<len(lst) and m<len(lst) and n>=-len(lst) and m>=-len(lst) and n<=m:    for x in range(n,m):        lst.remove(lst[x])    print(lst)else:    print("error")
nst=lst[n:m]   for x in lst:       if nst.count(x)!=0:           lst.remove(x)   

10.删除列表中的最大元素和最小元素

lst=eval(input())max=max(lst)min=min(lst)while lst.count(max)!=0:    lst.remove(max)while lst.count(min)!=0:    lst.remove(min)print(lst)

 11.把0移到列表尾端

lst=eval(input())zeroNo=lst.count(0)while lst.count(0)!=0:    lst.remove(0)for x in range(zeroNo):    lst.append(0)print(lst)

12.找出列表中素数并放新列表中输出

def primeNo(num):    flag=1    for x in range(2,num):        if num%x==0:            flag=0    return flaglst=eval(input())rst=[]for num in lst:    if num==2:        rst.append(num)    elif num>2:        if primeNo(num)==1:            rst.append(num)print(rst)
lst=eval(input())nst=lst.copy()for x in lst:    if x>2:        for a in range(2,x):            if x%a==0:                nst.remove(x)                break    elif x<2:        nst.remove(x)print(nst)

13.交换列表中两元素位置

lst=input().split()n,m=input().split()n=int(n)m=int(m)t=lst[n]lst[n]=lst[m]lst[m]=tprint(lst)

第五章

程序片段题

1.名单去重

cc3b56d2d24bb5e898f876ec90bda0b4.png

2.提取学生信息和平均成绩

1582b8e671dd29a1e08bfee031bceb59.png

第六章

编程题

1.成绩转换

def cvert(grade):    if grade>=90:        return "A"    elif grade>=80:        return "B"    elif grade>=70:        return "C"    elif grade>=60:        return "D"    else:        return "E"    grade=eval(input())print(cvert(grade))

2.颜色混合器

def mix(color1,color2):    st={color1,color2}    if st=={"red","blue"}:        return "purple"    elif st=={"red","yellow"}:        return "orange"    elif st=={"blue","yellow"}:        return "green"    else:        return "error"    color1=input()color2=input()print(mix(color1,color2))

利用集合的无序性

3.轮盘赌的颜色

iNum=eval(input())if iNum==0:    print("green")elif iNum>=1 and iNum<=10 or iNum>=19 and iNum<=28:    if (iNum/2)%1!=0:        print("red")    else:        print("black")elif iNum>=11 and iNum<=18 or iNum>=29 and iNum<=36:    if (iNum/2)%1!=0:        print("black")    else:        print("red")else:    print("error")

4.分段函数求值

x=eval(input())if x<20:    y=(6*x*x)+1elif x>=20 and x<40:    y=pow(3*x-60,0.5)elif x>=40:    y=100/(x+1)print("%.2f" %(y))

5.月份对应的季节

iMonth=eval(input())if iMonth in[3,4,5]:    print("spring")elif iMonth in[6,7,8]:    print("summer")elif iMonth in [9,10,11]:    print("autumn")elif iMonth in [12,1,2]:    print("winter")else:    print("error")

6.组合数字

n,m=input().split(" ")n=int(n)m=int(m)num=""if m-n!=3 or m>9:    print("illegal input")else:    lst=range(n,m)    for x1 in lst:        if x1!=0:            for x2 in lst:                if x2!=x1:                    for x3 in lst:                        if x3!=x2 and x3!=x1:                            num+=('%d%d%d ' %(x1,x2,x3))          print(num)    

7.水仙花数

max=eval(input())lst=[]for x in range(100,1000,1):    x=str(x)    a=int(x[0])    b=int(x[1])    c=int(x[2])    num=int(x)    if num==a**3+b**3+c**3:        lst.append(x)nst=[]for y in lst:    if int(y)<=max:        print(y)        nst.append(y)if len(nst)==0:    print('none')

感觉题目隐含了只找三位数水仙花数

8.字符统计

dummy=input()lst=[0,0,0,0]for x in list(dummy):    if x.isdigit():        lst[2]+=1    elif x.isalpha():        lst[0]+=1    elif x==" ":        lst[1]+=1    else:        lst[3]+=1print(" ".join(map(str,lst)))

9.美元人民币转换

sMoney=input()if sMoney[0] in ['&','R']:    if sMoney[0] == "&":        USD=eval(sMoney[1:])/6.78        print("$%.2f" %(USD))    else:        USD=eval(sMoney[3:])/6.78        print("USD%.2f" %(USD))elif sMoney[0] in ['$','U']:    if sMoney[0] =="$":        RMB=eval(sMoney[1:])*6.78        print("&%.2f" %(RMB))    else:        RMB=eval(sMoney[3:])*6.78        print("RMB%.2f" %(RMB))else:    print("Error")

10.回文素数

n=eval(input())nums=[]if n<=1 or n%1!=0:    print("illegal input")else:    for x in range(1,n+1):        t=list(str(x))        r=t.copy()        r.reverse()        if r==t:             nums.append(x)lst=nums.copy()for y in lst:    if y>2:        for z in range(2,y):            if y%z==0:                nums.remove(y)                break    elif y<2:        nums.remove(y)print(" ".join(map(str,nums)))

 11.加密数据

num=input()num=list(num)for i in range(len(num)):    num[i]=(eval(num[i])+5)%10num.reverse()print(''.join([str(x) for x in num]))

 12.统计字符串中每个字母出现的次数

lst=eval(input())nst=[chr(i) for i in range(ord("a"),ord("z")+1)]rst=[0]*26for x in lst:    x=list(str(x))    for i in range(len(x)):        for j in range(26):                if x[i]==nst[j]:                    rst[j]+=1for y in range(26):    if rst[y]!=0:        print(",".join(map(str,[nst[y],rst[y]])))

13.高度反弹

h=eval(input())N=eval(input())high=[h]for x in range(N-1):   h=h*0.5   l=h*2   high.append(l)all=sum(high)print("%.2f" %(all))

 14.找学生

def cut_search(lst,num):    left=0    right=len(lst)-1    while left<=right:      mid=(left+right)//2      if lst[mid]==num:         return mid      elif lst[mid]<num:         left=mid+1      else:         right=mid-1    return 1lst=[x[0] for x in stu_list]num=input()rst=cut_search(lst,num)if rst==1:   print("None")else:   print(stu_list[rst][0]+stu_list[rst][1])

15.数列求和

n=eval(input())sum=0a=2b=1for i in range(n):   sum+=a/b   t=a   a=a+b   b=tprint("%.4f" %(sum))

16.累计求和

lst=[]while True:   sInput=input() or "#"   if sInput=="#":      break   lst.append(int(sInput))print(len(lst),sum(lst))

程序片段题

1.列表元素循环右移一位

7f4eebd0b5da632a5b2b86104bba93bf.png

2.计算e

aa77477e474f1e285ec4f29fda71a5fc.png

3.二月的天数

d691db807bdf89f8f0cabd13a672b2d3.png

4.卖西瓜 

3075e5f35b6c8223be2aeec45f4bbf08.png

5.多项求和(s=a+aa+aaa+...)

5cd737a37836f7bebd75befed669f2cc.png

第七章

程序片段题

1.求0-x的阶乘

def work(a):  def factorial(n):        if n==0:            return 1        else:            return factorial(n-1)*n    lst=[]    for i in range(0,a+1):        rst=(i,factorial(i))         lst.append(rst)    dic=dict(lst)    return dica  =  int(input())ans  =  work(a)print(ans)

 2.购物统计

7971c4785ec311f32d2bbb85d55e9120.png

3.数字分类

45ddf20a1427f1b47b9722be82fc09a9.png

编程题

1.获取国家的GDP值

dic={}sInput=input() or "ok"while sInput!="ok":    c,n=sInput.split()    dic[c]=n    sInput=input() or "ok"country=list(dic.keys())gpa=list(int(i) for i in dic.values())print(sorted(country))print(sorted(gpa))if "India" in dic.keys():    print("yes")else:    print("no")print(sum(gpa))

2.统计字符串出现的次数(字典-2)

sInput=input() or "q"lst=[]while sInput!= "q":    lst.append(sInput)    sInput=input() or "q"dic={}for x in lst:    dic[x]=lst.count(x)max=max(dic.values())for y in dic:    if dic[y]==max:        print(y,max)    

3.计算平均成绩

n,e,p,m=input().split()stu={}lst=[float(e),float(p),float(m)]lst.sort(reverse=True)avg=sum(lst)/3stu["name","english","python","math","avg"]=n,e,p,m,avgprint(n,"{max:.2f} {mid:.2f} {min:.2f} {avg:.2f}".format(max=lst[0],mid=lst[1],min=lst[2],avg=avg))

 4.统计字符串出现次数

sInput=input().split()dic={}for x in sInput:    dic[x]=int(sInput.count(x))max=1for y in dic.values():    if y>max:        max=yrst=[]for z in dic.keys():    if dic[z]==max:        rst.append(z)rst.sort()for i in range(len(rst)):    print(rst[i],max)

第八章

程序片段题

1.用递归函数求斐波那契数列的第n项

5322b1e954eb00d8d81cfaa7dfb8d7f5.png

2.计算一组数的方差

4d5c9c8316aafaa4ca76c34bc7325f8b.png

3.计算两个正整数对应各位数乘积之和

def myFun(a,b):    num=[]    if len(a)==len(b):        for i in range(len(a)):            num.append(int(a[i])*int(b[i]))    elif len(a)>len(b):        lst=list(b)[::-1]        for x in range(len(a)-len(b)):            lst.append(0)        lst=lst[::-1]        for i in range(len(a)):            num.append(int(a[i])*int(lst[i]))    else:        rst=list(a)[::-1]        for y in range(len(b)-len(a)):            rst.append(0)        rst=rst[::-1]        for i in range(len(b)):            num.append(int(rst[i])*int(b[i]))    return sum(map(int,num))num=input().split()a=num[0]b=num[1]if a.isdigit() and b.isdigit():  #判断a,b是否都是数字    print(myFun(a,b))  #调用自定义函数else:    print("error")

4. 

输出特定矩阵1

ba4bb6ac3124cfec7032dd02ebb3ad93.png

join()作用于list,返回类型为字符串

编程题

成绩与名字组合后升序输出

038e752a187ec270b474acbbf1f9686a.png

key=lambda x:x[-1]  —— 按序列最后一个元素大小为依据进行排序

第九章

何为面向对象?

只是自己在网上听网课做的笔记,这一章比较难理解,这个思维导图希望能帮助你们理解一点儿

0f4519e026b82d69881549c54c548f1e.jpeg

程序片段题

BMI

9c5cf29ea37c62860b05a7dc9ba00bfe.pngstock

75332c6b94a59a5e58b13b7d504e425b.pngbook

e384d9d8ec315347acae34fb47a0c041.png第十章

程序片段题

身份证信息提取和掩码输出

c74399db76ea958a5fbf2ddfb23d2b6a.png

字符串位置查询

7fc843dd2e76ee2e5a78e55f4534dc5e.png

编程题

取出第一个没有重复的字符

bf5239848f7fdc4d97458b3e6083e96e.png

解密码

d1be6b4b44c312067992cceedd2f7e4d.png

7fb4563c5f1e2ef738b5cb5d999b09e1.jpeg

身份证验证

9256bca3525b50a856b3f05ebe82614b.png密码强度

4a3d772384b67ba62ca8d323da1c6cb0.png在输入dummy时,不能直接复制粘贴题目中的,因为 {} 和 \ 在字符串中都有特殊含义(所以把 { 和 } 分开,输入两个 \\ 以表示字符 \ )

变位词

6e182c90a42f30b1537ba5f468b0b8e1.png

这个题目默认one和two完全相同时也算变位词

第十一章

程序片段题

输入学生信息

8c07530af0392181333b5970a5ac4b9c.png

编程题

大小写转换

85c728b01c3c3371f36f9061bec7721e.png

注意:以“w”即write形式打开文件会清空文件原有内容

课后习题11-2:统计文件中行,单词,字符数

363dbdf3329f818febf3f7e07fb515af.png

学生成绩排序

415b04ed0a708f17b18b45aba592e6c7.png

课后习题11-5:统计文件中目标字符串个数

5971422cc0e0036fd2d41050916bab93.png

课后习题11-6:删除文件中目标字符串-

70e31a62f39ef3b7971eabe886b3c600.png

 


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/200419.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1