Python编程练习(三):21 - 30
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python编程练习(三):21 - 30,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6462字,纯文字阅读大概需要10分钟。
内容图文
![Python编程练习(三):21 - 30](/upload/InfoBanner/zyjiaocheng/590/0072af1823d544308cc0588247b6683e.jpg)
零基础入门学Python系列内容对应的所有编程练习题目 → \rightarrow →Python编程练习题目汇总。
- 编写程序:判断传入的字符串参数是否为“回文联”。回文联即用回文形式写成的对联,既可顺读,也可倒读。
def palindrome(string): length = len(string) last = length - 1 length //= 2 flag = 1 for each in range(length): if string[each] != string[last]: flag = 0 last -= 1 if flag == 1: return 1 else: return 0string = input('请输入一句话:')if palindrome(string) == 1: print('是回文联!')else: print('不是回文联!')
??>>>
??请输入一句话:一二三
??不是回文联!
??请输入一句话:一二三三二一
??是回文联!
??>>>
- 编写程序:判断传入的字符串参数是否为“回文联”(递归实现)。
def Huiwen(temp,start,end): if start > end: return 1 else: if temp[start]==temp[end]: return Huiwen(temp,start+1,end-1) else: 0temp = input('请输入一段文字:')length = len(temp)end = len(temp)-1if Huiwen(temp,0,end): if temp[0:length//2] == temp[length//2:length]: print('%s不是一个回文字符串!'%temp) else: print('%s是一个回文字符串!'%temp)else: print('%s不是一个回文字符串!'%temp)
??>>>
??请输入一段文字:一二三
??一二三不是一个回文字符串!
??请输入一段文字:一二三二一
??一二三二一是一个回文字符串!
??>>>
- 编写程序:分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。
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 个
??>>>
- 编写程序:求某个整数的阶乘。
def recursion(n): result = n for i in range(1,n): result *= i return result number = int(input('请输入一个整数:'))result = recursion(number)print("%d的阶乘是:%d" % (number,result))
??>>>
??请输入一个整数:4
??4的阶乘是:24
??请输入一个整数:12
??12的阶乘是:479001600
??>>>
- 编写程序:求某个整数的阶乘(递归实现)。
def factorial(n): if n == 1: return 1 else: return n * factorial(n-1)number = int(input('请输入一个整数:'))result = factorial(number)print("%d的阶乘是:%d" % (number,result))
??>>>
??请输入一个整数:5
??4的阶乘是:120
??>>>
- 编写程序:实现斐波那契数列(迭代实现)。
def fab(n): a1 = 1 a2 = 1 a3 = 1 if n < 1: print("输入有误!") return -1 while (n-2) > 0: a3 = a1 + a2 a1 = a2 a2 = a3 n -= 1 return a3 n=int(input("请输入经过的月份:"))result = fab(n)if result != -1: print('总共有%d对小兔子诞生!'% result)
??>>>
??请输入经过的月份:5
??总共有5对小兔子诞生!
??请输入经过的月份:7
??总共有13对小兔子诞生!
??请输入经过的月份:10
??总共有55对小兔子诞生!
??>>>
- 编写程序:实现斐波那契数列(递归实现)。
def fab(n): if n < 1: print("输入有误!") return -1 if n == 1 or n == 2: return 1 else: return fab(n-1) + fab(n-2)n=int(input("请输入经过的月份:"))result = fab(n)if result != -1: print('总共有%d对小兔子诞生!'% result)
??>>>
??请输入经过的月份:10
??总共有55对小兔子诞生!
??>>>
- 编写程序:将参数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’]
??>>>
- 编写程序:实现一个用户登录系统。
user_data = {}def new_user(): prompt = '请输入用户名:' while True: name = input(prompt) if name in user_data: prompt = '此用户名已被使用,请重新输入:' continue else: break passwd = input('请输入密码:') user_data[name] = passwd print('注册成功,赶紧试试登录吧^_^')def old_user(): prompt = '请输入用户名:' while True: name = input(prompt) if name not in user_data: prompt = '您输入的用户名不存在,请重新输入:' continue else: break passwd = input('请输入密码:') pwd = user_data.get(name) if passwd == pwd: print('欢迎进入系统!') else: print('密码错误!') def showmenu(): prompt = ''' |--- 新建用户:N/n ---| |--- 登录账号:E/e ---| |--- 退出程序:Q/q ---| |--- 请输入指令代码:''' while True: chosen = False while not chosen: choice = input(prompt) if choice not in 'NnEeQq': print('您输入的指令代码有误,请重新输入:') else: chosen = True if choice == 'q' or choice == 'Q': break if 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
??>>>
- 编写程序:接受用户的输入并保存为新的文件。
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: break f.close()file_name = input('请输入文件名:')file_write(file_name)
??>>>
??请输入文件名:story.txt
??请输入内容【单独输入’:w’保存退出】:
??从前有座山,
??山上有座庙,
??庙里有个老和尚在给小和尚讲故事,
??讲的故事是:
??从前有座山,
??山上有座庙,
??庙里有个老和尚在给小和尚讲故事,
??讲的故事是。。。。。。
??:w
??>>>
内容总结
以上是互联网集市为您收集整理的Python编程练习(三):21 - 30全部内容,希望文章能够帮你解决Python编程练习(三):21 - 30所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。