零基础入门学Python系列内容对应的所有编程练习题目→\rightarrow→Python编程练习题目汇总。

  1. 编写程序:判断传入的字符串参数是否为“回文联”。回文联即用回文形式写成的对联,既可顺读,也可倒读。
def palindrome(string):length = len(string)last = length - 1length //= 2flag = 1for each in range(length):if string[each] != string[last]:flag = 0last -= 1if flag == 1:return 1else:return 0string = input('请输入一句话:')
if palindrome(string) == 1:print('是回文联!')
else:print('不是回文联!')

  >>>
  请输入一句话:一二三
  不是回文联!
  请输入一句话:一二三三二一
  是回文联!
  >>>

  1. 编写程序:判断传入的字符串参数是否为“回文联”(递归实现)。
def Huiwen(temp,start,end):if start > end:return 1else:if temp[start]==temp[end]:return Huiwen(temp,start+1,end-1)else:0temp = input('请输入一段文字:')
length = len(temp)
end = len(temp)-1
if Huiwen(temp,0,end):if temp[0:length//2] == temp[length//2:length]:print('%s不是一个回文字符串!'%temp)else:print('%s是一个回文字符串!'%temp)
else:print('%s不是一个回文字符串!'%temp)

  >>>
  请输入一段文字:一二三
  一二三不是一个回文字符串!
  请输入一段文字:一二三二一
  一二三二一是一个回文字符串!
  >>>

  1. 编写程序:分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。
def count(*param):  length = len(param)  for i in range(length):  word = 0  num = 0  spa = 0  oth = 0  for j in param[i]:  if j.isalpha():  word += 1  elif j.isspace():  spa += 1  elif j.isdigit():  num += 1  else:  oth += 1  print ('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个'%(i+1,word,num,spa,oth))count('I love Python','I love you')

  >>>
  第 1 个字符串共有:英文字母 11 个,数字 0 个,空格 2 个,其他字符 0 个
  第 2 个字符串共有:英文字母 8 个,数字 0 个,空格 2 个,其他字符 0 个
  >>>

  1. 编写程序:求某个整数的阶乘。
def recursion(n):result = nfor i in range(1,n):result *= ireturn resultnumber = int(input('请输入一个整数:'))
result = recursion(number)
print("%d的阶乘是:%d" % (number,result))

  >>>
  请输入一个整数:4
  4的阶乘是:24
  请输入一个整数:12
  12的阶乘是:479001600
  >>>

  1. 编写程序:求某个整数的阶乘(递归实现)。
def factorial(n):if n == 1:return 1else:return n * factorial(n-1)number = int(input('请输入一个整数:'))
result = factorial(number)
print("%d的阶乘是:%d" % (number,result))

  >>>
  请输入一个整数:5
  4的阶乘是:120
  >>>

  1. 编写程序:实现斐波那契数列(迭代实现)。
def fab(n):a1 = 1a2 = 1a3 = 1if n < 1:print("输入有误!")return -1while (n-2) > 0:a3 = a1 + a2a1 = a2a2 = a3n -= 1return a3n=int(input("请输入经过的月份:"))
result = fab(n)
if result != -1:print('总共有%d对小兔子诞生!'% result)

  >>>
  请输入经过的月份:5
  总共有5对小兔子诞生!
  请输入经过的月份:7
  总共有13对小兔子诞生!
  请输入经过的月份:10
  总共有55对小兔子诞生!
  >>>

  1. 编写程序:实现斐波那契数列(递归实现)。
def fab(n):if n < 1:print("输入有误!")return -1if n == 1 or n == 2:return 1else:return fab(n-1) + fab(n-2)n=int(input("请输入经过的月份:"))
result = fab(n)
if result != -1:print('总共有%d对小兔子诞生!'% result)

  >>>
  请输入经过的月份:10
  总共有55对小兔子诞生!
  >>>

  1. 编写程序:将参数n分解出每个位的数字并按顺序存放到列表中。
# 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例 : get_digits(12345)==>[1,2,3,4,5]
def get_digits(n):result = ''if n:result = get_digits(n//10)result += str(n%10)return list(result)num = int(input('请输入一个数:'))
print(get_digits(num))

  >>>
  请输入一个数:350
  [‘3’, ‘5’, ‘0’]
  请输入一个数:1890
  [‘1’, ‘8’, ‘9’, ‘0’]
  >>>

  1. 编写程序:实现一个用户登录系统。
user_data = {}def new_user():prompt = '请输入用户名:'while True:name = input(prompt)if name in user_data:prompt = '此用户名已被使用,请重新输入:'continueelse:breakpasswd = input('请输入密码:')user_data[name] = passwdprint('注册成功,赶紧试试登录吧^_^')def old_user():prompt = '请输入用户名:'while True:name = input(prompt)if name not in user_data:prompt = '您输入的用户名不存在,请重新输入:'continueelse:breakpasswd = input('请输入密码:')pwd = user_data.get(name)if passwd == pwd:print('欢迎进入系统!')   else:print('密码错误!')def showmenu():prompt = '''
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 退出程序:Q/q ---|
|--- 请输入指令代码:'''while True:chosen = Falsewhile not chosen:choice = input(prompt)if choice not in 'NnEeQq':print('您输入的指令代码有误,请重新输入:')else:chosen = Trueif choice == 'q' or choice == 'Q':breakif choice == 'n' or choice == 'N':new_user()if choice == 'e' or choice == 'E':old_user()showmenu()

  >>>
  |— 新建用户:N/n —|
  |— 登录账号:E/e —|
  |— 退出程序:Q/q —|
  |— 请输入指令代码:n
  请输入用户名:lucky
  请输入密码:123456
  注册成功,赶紧试试登录吧 ^ _ ^

  |— 新建用户:N/n —|
  |— 登录账号:E/e —|
  |— 退出程序:Q/q —|
  |— 请输入指令代码:e
  请输入用户名:lucky
  请输入密码:123456
  欢迎进入系统!

  |— 新建用户:N/n —|
  |— 登录账号:E/e —|
  |— 退出程序:Q/q —|
  |— 请输入指令代码:q
  >>>

  1. 编写程序:接受用户的输入并保存为新的文件。
def file_write(file_name):f = open(file_name,'w')print('请输入内容【单独输入\':w\'保存退出】:')while True:write_some = input()if write_some != ':w':f.write('%s\n' % write_some)else:breakf.close()file_name = input('请输入文件名:')
file_write(file_name)

  >>>
  请输入文件名:story.txt
  请输入内容【单独输入’:w’保存退出】:
  从前有座山,
  山上有座庙,
  庙里有个老和尚在给小和尚讲故事,
  讲的故事是:
  从前有座山,
  山上有座庙,
  庙里有个老和尚在给小和尚讲故事,
  讲的故事是。。。。。。
  :w
  >>>

Python编程练习(三):21 - 30相关推荐

  1. Python编程PTA——三个数比较大小的新解法

    Python编程PTA--三个数比较大小 **题目:**本题要求将输入的任意3个整数从小到大输出. 输入格式: 输入在一行中给出3个整数,其间以空格分隔. 输出格式: 在一行中将3个整数从小到大输出, ...

  2. python计算矩形周长_一边学编程,一边学语数外,用python编程学三年级周长计算...

    原标题:一边学编程,一边学语数外,用python编程学三年级周长计算 编程并不神秘 编程只是解决问题的一共方法 python是一门编程语言 python是一种解决问题的编程工具 在小学阶段,学习编程的 ...

  3. [Python]numpy数据分析练习[21~30]

    [Python]numpy数据分析练习[21~40] 题目和解析地址 此博客主要用于自己做些知识点笔记 题目和答案 21. 如何在numpy数组中只打印小数点后三位? 只打印或显示numpy数组ran ...

  4. python困境_学习 Python 编程的三种困境

    之前我写过两篇关于测试人员要不要学编程的文章,有很多朋友留言给我说,我也很想学呀,可是我办不到呀. 前两篇文章链接如下,没看过的可以尽快回顾下: <做软件测试到底要不要学编程?> < ...

  5. python简单编程例子-python简单实例训练(21~30)

    注意:我用的python2.7,大家如果用Python3.0以上的版本,请记得在print()函数哦!如果因为版本问题评论的,不做回复哦!! 21.题目:将一个正整数分解质因数.例如:输入90,打印出 ...

  6. python简单程序实例-python简单实例训练(21~30)

    注意:我用的python2.7,大家如果用Python3.0以上的版本,请记得在print()函数哦!如果因为版本问题评论的,不做回复哦!! 21.题目:将一个正整数分解质因数.例如:输入90,打印出 ...

  7. 计算机科学和Python编程导论(三) 一些简单的数值程序

    基本概念 1. 穷举法 穷举法:是猜测与检验算法的一个变种.我们枚举所有可能性,直至得到正确答案或者尝试完所有值. #寻找完全立方数的立方根 x = int(input('Enter an integ ...

  8. 【Python编程】三步完成如何从视频中提取音频?

      今天忽然有需要从视频中提取出音频来,外事不决问百度,在度娘上找了找得出来的结果就是使用某某音频转换器,后者是AE.PR或者是会声会影之类的操作.Ab全家桶买不起,只好想想还有没其他路子,所以就有了 ...

  9. python编程第三站-在线密码破解工具

    目录 前言 一.在线密码破解介绍 1.什么是在线密码破解 2.web安全中用来破解的工具burpsuite 3.导入需要用到的python模块 二.命令行模块介绍 1.optparse模块介绍 2.w ...

  10. python编程if语法-21天学习python编程_if语句

    主要内容: 小目标:掌握if语句 主要内容:if,elif,else使用 1 if语句 if 表达式: 代码1 表达式:就是一条语句,例如:10,True, False, [], a > 60 ...

最新文章

  1. 浅谈分布式计算的开发与实现
  2. UWP crop image control
  3. 最短路模板 - Floyd / Dijkstra
  4. 光进铜退下的“更高”与“更低”,锐捷发布企业极简以太全光网解决方案
  5. centos7设置mongodb远程连接(亲测)
  6. go mod管理golang包
  7. Bootstrap 图片的形状
  8. WebSocket 详解 1
  9. Android应用内存泄露分析以及优化方案
  10. linux如何实现c语言程序,在Linux下如何利用C语言来实现一个Sniffer
  11. linux维文字体如何下载,uyghurfont
  12. java车牌识别字符分割_【车牌识别】-车牌中字符分割代码详解
  13. html网页该插件不受支持,该插件不受支持怎么办
  14. 小车--雷神、velodyne 雷达使用(IP)
  15. python单例模式有什么用_python单例模式是什么
  16. opencv中图像失焦检测
  17. Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率
  18. 视频码率,帧率和分辨率
  19. 2020奶茶行业研究报告
  20. 删除文件过一会又回来_手机文件误删除如何恢复?教你实用的找回方法!

热门文章

  1. 三面翻广告位出租合同案例范本
  2. 入站规则和出站规则设置
  3. 浙大三维视觉团队提出ENeRF:首次实现任意动态场景的实时照片级渲染 | SIGGRAPH Asia 2022...
  4. 最近最少使用LRU(Least Recently Used)算法java实现
  5. 在Ubuntu上创建Git仓库并上传到GitHub
  6. 长篇连载(一):你的编程能力从什么时候开始突飞猛进?
  7. mysql数据给mes_PLC通讯智能网关:MES服务对接,SQL数据库双向通讯,HTTP协议GET/POST请求,MQTT协议JSON发布/订阅...
  8. 导出.xcarchive in XCode 6?
  9. 系统崩溃:都是紫光拼音惹得祸
  10. 服务器打开文件 出现安全警告,访问 OWA 或 ECP 时的安全警告 - Exchange | Microsoft Docs...