##第三章:选择与循环

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常见习题相关推荐

  1. python 常见的元字符(\d,\w ,^ ,$ 等) 的使用

    python常见的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \W 匹配特殊字符,即非字母.非数字.非汉字 \s 匹配任意的空白符 \S 匹配非空白 \d ...

  2. python内置模块重要程度排名_论Python常见的内置模块

    Python常见的内置模块 系统的内置模块 sys hashlib hmac base64 time datetime sys模块 sys.argv()# 在Python脚本传参使用 sys.exit ...

  3. 一文了解Python常见的序列化操作

    关于我 编程界的一名小小程序猿,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. 联系:hylinux1024@gmail ...

  4. 初学Python常见异常错误,总有一处你会遇到!

    初学Python常见异常错误,总有一处你会遇到! 参考文章: (1)初学Python常见异常错误,总有一处你会遇到! (2)https://www.cnblogs.com/xxpythonxx/p/1 ...

  5. python的库在哪_你知道python常见的库有哪些吗?五大python库

    大家都知道,现在python是一门非常不错的编程,各行各业都开始使用python进行编程,而且python每个功能模块,都有对应的python库,那么你知道python常见的库有哪些吗?今天为大家介绍 ...

  6. python列表按照指定顺序排序-Python常见排序操作示例【字典、列表、指定元素等】...

    本文实例讲述了Python常见排序操作.分享给大家供大家参考,具体如下: 字典排序 按value排序 d1 = {"name":"python","b ...

  7. python常见错误-python常见的错误提示有什么

    python常见的错误有 1.NameError变量名错误 2.IndentationError代码缩进错误 3.AttributeError对象属性错误 4.TypeError类型错误 5.IOEr ...

  8. python常见错误-python中的错误有什么

    我们在写python代码时,有时候会遇到莫名的错误,而且查阅了很多资料也不明白是怎么回事,尤其是对python初学者而言,会很影响学习的细心,下面总结python中常见的错误,希望帮助到大家. pyt ...

  9. python字符串find函数-python常见字符串处理函数与用法汇总

    本文实例讲述了python常见字符串处理函数与用法.分享给大家供大家参考,具体如下: 1.find 作用:在一个较长字符串中查找子串.返回子串所在位置的最左端索引,如果没有找到则返回-1.如果指定 b ...

最新文章

  1. 房住不炒,来真的了?
  2. sql 找到上一次_记一次对XXCMS的代码审计
  3. Java线程池了解一下
  4. Springboot的slf4j的配置文件模板
  5. ie6不能播放视频问题
  6. 160个Crackme041之无源码修改Delphi程序
  7. python的format函数如何理解_python format函数的使用
  8. Django 第八课 3.【MySQL问题】
  9. c语言中有存储过程吗,C语言调用存储过程并且获得返回值
  10. [LeetCode]Number of 1 Bits
  11. mtk 帧同步_【小松教你手游开发】【面试必读(编程基础)】网络游戏同步方式(帧同步和状态同步)...
  12. 解决YUM下Loaded plugins: fastestmirror Determining fastest mirrors 的错误问题
  13. 利用Python绘制图案——七色花子
  14. 粤嵌星计划打卡第三十二天(对象的销毁和垃圾收集机制)(java实现一个权限管理系统)
  15. QTTabBar功能是灰色,无法启用的解决办法
  16. 7-49 打印学生选课清单 (25 分)
  17. 简述计算机组装的具体流程,自己动手组装电脑详细步骤【图文】
  18. android hdmi拔插广播,Android_8.1插拔hdmi后,音量会变到最大
  19. 有道云笔记 markdown html,你不可不知的有道云笔记Markdown指南【进阶版】
  20. 接口测试是什么?为什么要做接口测试?

热门文章

  1. SequoiaDB巨杉数据库-卸载
  2. 老男孩python培训课件
  3. 老男孩python第六期
  4. pytorch、tensorflow之生成one-hot向量
  5. 什么是多态?为什么要使用多态?什么时候用多态?多态是如何实现的?使用多态有什么好处?
  6. 从0开始的技术美术之路(美术篇)(一)美术理论基础
  7. BetaFlight深入传感设计之三:IMU传感模块
  8. RLS,LMS以及NLMS三种自适应均衡matlab仿真
  9. 机器学习项目之数据清洗
  10. 现代商业杂志现代商业杂志社现代商业编辑部2022年第16期目录