Python常见习题
##第三章:选择与循环
1、编写程序,生成一个包含50个随机整数的列表,然后删除其中所有的奇数(提示:从后往前删)
import random
list=[]
for i in range(50):list.append(random.randint(0,1000))
print(list,len(list))
for j in range(len(list))[::-1]:if list[j] %2!=0:del list[j]
print(list)
2、 编写一个程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变(使用切片)
import random
list=[]
for i in range(20):list.append(random.randint(0,100))
print(list)
list1=sorted(list[::2],reverse=True)
k=0
for j in range(0,20,2):list[j]=list1[k]k+=1
print(list)
3、编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2x5,60=2x2x3x5
num=input('输入小于1000的整数:')
num=int(num)
if num==1:print('1=1x1',end=' ')
else:for i in range(1,num):if num % i==0:print(num,'=',i,'x',int(num/i),end=' ')
4、编写程序,至少使用两种不同的方法计算100以内所有奇数的和
print(sum(list(range(100))[1::2]))
i=1
sum=0
while i<=100:if i % 2==1:sum+=ii+=1
print(sum)
5、编写程序,输出所有由1、2、3、4这四个数字组成的素数,并且在每个素数中每个数字只使用一次。
list=[1,2,3,4]
for i in list:for j in list:if i!=j:for k in list:if i!=k and j!=k:for l in list:if i!=l and j!=l and k!=l:print(i*1000+j*100+k*10+l)
6、编写程序,实现分段函数计算
def y(x):if x<0:return 0elif 0<=x<5:return xelif 5<=x<10:return 3*x-5elif 10<=x<=20:return 0.5*x-2else:return 0
num=input('请输入参数x:')
print(y(int(num)))
第四章:字符串与正则表达式
1、编写函数实现字符串加密和解密,循环使用指定密匙,采用简单的异或方法。
def crypt(source,key):from itertools import cycleresult=''temp=cycle(key)for ch in source:result=result+chr(ord(ch) ^ ord(next(temp))) #^在算术运算中,表示将数字化为二进制异或。return resultsource='ShanDong Institute of Business and Technology'
key='Dong Fuguo'print('Before Encrypted:'+source)
encrypted=crypt(source,key)
print('After Encrypted:'+encrypted)
decrypted=crypt(encrypted,key)
print('After Decrypted:'+decrypted)
##第五章:函数设计与使用
1、编写函数计算圆的面积
from math import pi as PIdef CircleArea(r):if isinstance(r,int) or isinstance(r,float):return PI*r*relse:return ('You must give me an integer or float as radius.')print(CircleArea(12))
2、编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。
def demo(*para):avg=sum(para)/len(para) #注意Python2.x与Python3.x对除法运算符"/"的解释不同g=[i for i in para if i>avg]return (avg,)+tuple(g)print(demo(1,2,3,4))
3、编写函数,接收字符串参数,返回一个元组,其中第一个元素为大写字母个数,第二个元素为小写字母个数。
def demo(s):result=[0,0]for ch in s:if 'a'<=ch<='z':result[1]+=1elif 'A'<=ch<='Z':result[0]+=1return tuple(result)print(demo('aaaabbbbC'))
4、编写函数,接收包含20个整数的列表lst和一个整数k作为参数,返回新列表。处理规则为:将列表lst中下标k之前的元素逆序,下标k之后的元素逆序,然后将整个列表lst中的所有元素逆序。
def demo(lst,k):x=lst[:k]x.reverse() #将列表lst中下标k之前的元素逆序print(x)y=lst[k:]y.reverse() #将列表lst中下标k之后的元素逆序print(y)r=x+yr.reverse() #将整个列表中的所有元素逆序return rlst=list(range(1,21))
print(lst)
print(demo(lst,5))
5、 编写函数,接收整数参数 t,返回斐波那契数列中大于 t 的第一个数。
def demo(t):a,b=1,1while b<t:a,b=b,a+belse:return bprint(demo(50))
*6、编写函数,接收一个包含若干整数的列表参数lst,返回一个元组,其中第一个元素为列表lst中的最小值,其余元素为最小值在列表lst中的下标。
import randomdef demo(lst):m=min(lst)result=(m,)for index,value in enumerate(lst):if value==m:result=result+(index,)return resultx=[random.randint(1,20) for i in range(50)]
print(x)
print(demo(x))
*7、编写函数,接收一个整数t为参数,打印杨辉三角的前t行。
def demo(t):print([1])print([1,1])line=[1,1]for i in range(2,t):r=[]for j in range(0,len(line)-1):r.append(line[j]+line[j+1])line=[1]+r+[1]print(line)demo(10)
*8、编写函数,接收一个正偶数为参数,输出两个素数,并且这两个素数之和等于原来的正偶数。如果存在多组符合条件的素数,则全部输出。
import mathdef IsPrime(n):m=int(math.sqrt(n))+1for i in range(2,m):if n%i==0:return Falsereturn Truedef demo(n):if isinstance(n,int) and n>0 and n%2==0:for i in range(3,int(n/2)+1):if i%2==1 and IsPrime(i) and IsPrime(n-i):print(i,'+',n-i,'=',n)demo(60)
9、编写函数,接收两个正整数作为参数,返回一个数组,其中第一个元素为最大公约数,第二个元素为最小公倍数。
def demo(m,n):if m>n:m,n=n,mp=m*nwhile m!=0: #辗转相除法求最大公约数r=n%mn=mm=rreturn (int(p/n),n) #乘积除以最大公约数为最小公倍数print(demo(20,30))
*10、编写函数,接收一个所有元素值互不相等的整数列表x和一个整数n,要求将值为n的元素作为支点,将列表中所有值小于n的元素全部放到n的前面,所有值大于n的元素放到n的后面。(模拟第一次快排的结果)
import randomdef demo(list,n):if n not in list:print(n,'is not an element of',list)returni=list.index(n) #获取指定元素在列表中的索引list[0],list[i]=list[i],list[0] #将指定元素与第0个元素交换key=list[0]i=0j=len(list)-1while i<j:while i<j and list[j]>=key: #从后向前寻找第一个比指定元素小的元素j-=1list[i]=list[j]while i<j and list[i]<=key: #从前向后寻找第一个比指定元素大的元素i+=1list[j]=list[i]list[i]=keylist=list(range(1,10))
random.shuffle(list)
print(list)
demo(list,4)
print(list)
*11、编写函数,计算字符串匹配的准确率
以打字练习程序为例,假设origin为原始内容,userInput为用户输入的内容,下面的代码用来测试用户输入的准确率。
#假设以origin为原始内容,userInput为用户输入的内容
def Rate(origin,userInput):if not (isinstance(origin,str) and isinstance(userInput,str)):print('The two parameters must be strings.')returnif len(origin)<len(userInput):print('Sorry,I suppose the second parameter string is shorter.')returnright=0for origin_char,user_char in zip(origin,userInput):if origin_char==user_char:right +=1return right/len(origin)origin='Shangdong'
userInput='Shangdong'
print(Rate(origin,userInput))
Python常见习题相关推荐
- python 常见的元字符(\d,\w ,^ ,$ 等) 的使用
python常见的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \W 匹配特殊字符,即非字母.非数字.非汉字 \s 匹配任意的空白符 \S 匹配非空白 \d ...
- python内置模块重要程度排名_论Python常见的内置模块
Python常见的内置模块 系统的内置模块 sys hashlib hmac base64 time datetime sys模块 sys.argv()# 在Python脚本传参使用 sys.exit ...
- 一文了解Python常见的序列化操作
关于我 编程界的一名小小程序猿,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. 联系:hylinux1024@gmail ...
- 初学Python常见异常错误,总有一处你会遇到!
初学Python常见异常错误,总有一处你会遇到! 参考文章: (1)初学Python常见异常错误,总有一处你会遇到! (2)https://www.cnblogs.com/xxpythonxx/p/1 ...
- python的库在哪_你知道python常见的库有哪些吗?五大python库
大家都知道,现在python是一门非常不错的编程,各行各业都开始使用python进行编程,而且python每个功能模块,都有对应的python库,那么你知道python常见的库有哪些吗?今天为大家介绍 ...
- python列表按照指定顺序排序-Python常见排序操作示例【字典、列表、指定元素等】...
本文实例讲述了Python常见排序操作.分享给大家供大家参考,具体如下: 字典排序 按value排序 d1 = {"name":"python","b ...
- python常见错误-python常见的错误提示有什么
python常见的错误有 1.NameError变量名错误 2.IndentationError代码缩进错误 3.AttributeError对象属性错误 4.TypeError类型错误 5.IOEr ...
- python常见错误-python中的错误有什么
我们在写python代码时,有时候会遇到莫名的错误,而且查阅了很多资料也不明白是怎么回事,尤其是对python初学者而言,会很影响学习的细心,下面总结python中常见的错误,希望帮助到大家. pyt ...
- python字符串find函数-python常见字符串处理函数与用法汇总
本文实例讲述了python常见字符串处理函数与用法.分享给大家供大家参考,具体如下: 1.find 作用:在一个较长字符串中查找子串.返回子串所在位置的最左端索引,如果没有找到则返回-1.如果指定 b ...
最新文章
- 房住不炒,来真的了?
- sql 找到上一次_记一次对XXCMS的代码审计
- Java线程池了解一下
- Springboot的slf4j的配置文件模板
- ie6不能播放视频问题
- 160个Crackme041之无源码修改Delphi程序
- python的format函数如何理解_python format函数的使用
- Django 第八课 3.【MySQL问题】
- c语言中有存储过程吗,C语言调用存储过程并且获得返回值
- [LeetCode]Number of 1 Bits
- mtk 帧同步_【小松教你手游开发】【面试必读(编程基础)】网络游戏同步方式(帧同步和状态同步)...
- 解决YUM下Loaded plugins: fastestmirror Determining fastest mirrors 的错误问题
- 利用Python绘制图案——七色花子
- 粤嵌星计划打卡第三十二天(对象的销毁和垃圾收集机制)(java实现一个权限管理系统)
- QTTabBar功能是灰色,无法启用的解决办法
- 7-49 打印学生选课清单 (25 分)
- 简述计算机组装的具体流程,自己动手组装电脑详细步骤【图文】
- android hdmi拔插广播,Android_8.1插拔hdmi后,音量会变到最大
- 有道云笔记 markdown html,你不可不知的有道云笔记Markdown指南【进阶版】
- 接口测试是什么?为什么要做接口测试?