记录Python 入门练习题目
新手记录Github上的练习题及自己的答案
1. 猜数字
经典的猜数字游戏,几乎所有人学编程时都会做。
功能描述: 随机选择一个三位以内的数字作为答案。用户输入一个数字,程序会提示大了或是小了,直到用户猜中。
import randomanswer = random.randint(100,999)
user_input = int(input('输入一个数'))
running = Truewhile running:if user_input == answer:print('BINGO!!')running = Falseelif user_input > answer:user_input = int(input('too big,try again'))else:user_input = int(input('too small,try again'))
2. FizzBuzz
另一道经典编程题。
功能描述: 遍历并打印0到100,如果数字能被3整除,显示Fizz;如果数字能被5整除,显示Buzz;如果能同时被3和5整除,就显示FizzBuzz。结果应该类似:0,1,2,Fizz,4,Buzz,6……14,FizzBuzz,16……
i = 1
while i < 101:a=i % 3 ==0b=i % 5 ==0if a and not b :print('fizz')elif b and not a :print('buzz')elif a and b :print('fizzbuzz')else:print(i)i+=1
3. 猜数字的AI
和猜数字一样,不过这次是设计一个能猜数字的AI
功能描述: 用户输入一个单位以内的数字,AI要用最少的次数猜中,并且显示出猜的次数和数字。
low=i=0
high=10
answer=Nonewhile True:try:user_input=int(input("请输入一个数字"))i+=1answer=(low+high)//2print(answer)if user_input>answer:print("ai猜的数字是{}".format(answer))low=answerelif user_input<answer:print("ai猜的数字是{}".format(answer))high=answerelse:print("ai猜的数字是{}".format(answer))print('BINGO!!!')breakexcept:print('ERROR:(')continueprint("\n答案是:{}.\n总共猜了:{}次".format(answer,i))
4. 整点报时
老式挂钟会在整点的报时,响铃的次数和时间相等。我们设计一个在电脑上运行的报时器。
功能描述: 运行后,在每一个整点长响一声,半个整点短响两声。实现睡眠模式,晚上十二点到早上六点不响铃。
5. 敏感词审查
一向痛恨网络审查的你成了某网站的审查员,要求审查网络上违反上头规定的名词。
功能描述: 要审查的帖子在仓库根目录的text.txt文件里,要求将所有的和谐,自由,民主,六四替换为*号。
f = open("text.txt", "r", encoding="utf-8")
f_new = open("result.txt", "w", encoding="utf-8")
find_str1 ="民主"
find_str2 ="和谐"
find_str3 ="自由"
find_str4 ="六四"
replace_str = "*"
for line in f:if find_str1 or find_str2 or find_str3 or find_str4 in line:line = line.replace(find_str1, replace_str).replace(find_str2, replace_str).replace(find_str3, replace_str).replace(find_str4, replace_str)f_new.write(line)
f.close()
f_new.close()
6. 文字冒险游戏
你想做个清新脱俗的文字游戏,只在命令行的黑框里运行。
功能描述: 尽量参考回合制RPG游戏的模式,游戏剧情自编,要有战斗模式,主角有HP属性,战斗和吃东西会对HP有相应的增减效果。
import random,timep_l=int(random.randint(10,50))
p_a=int(random.randint(10,15))
print("---游戏开始---")while p_l>0:accident=int(random.randint(0,1))print("当前玩家血量是{}点,攻击是{}点\n开始抛色子,结果是{}".format(p_l,p_a,accident))time.sleep(5)if accident == 0:p_l+=5print("恭喜遇到了食物,生命加5点,当前血量{}点".format(p_l))time.sleep(5)elif accident == 1:e_l=int(random.randint(10,20))e_a=int(random.randint(10,15))print("遇到了怪物,怪物血量是{}点,攻击是{}点\n-----比赛开始-----".format(e_l,e_a))time.sleep(5)while True:p_l=p_l-e_ae_l=e_l-p_aprint("玩家还剩{}点血,npc还剩{}点血".format(p_l,e_l))if p_l>0 and e_l<0:print("玩家胜利")time.sleep(5)breakelif p_l<0 and e_l>0:print("电脑胜利")time.sleep(5)breakelif p_l<0 and e_l<0:print("同归于尽")time.sleep(5)break
7. 词频统计
你想分析某个英语写作者的写作风格,你想先从他使用词语的频率入手。
功能描述: 分析仓库根目录的 words.txt 文件里的词频,按照出现频率由高到低排列结果,不区分大小写,过滤掉标点(可以使用正则表达式)。结果类似ok:234,play:122,funny:78
8. Markdown转换器
你一向喜欢在Windows的记事本里写文章,为了能方便的生成网页,你使用Markdown的格式写了篇文章,现在需要一个把Markdown转换成HTML格式的程序。
功能描述: 将仓库根目录README.md文件里的内容转换成HTML文档。要尽可能的支持Markdown标签,越多越好。建议使用正则表达式。
9. 邮件轰炸机
你的一个朋友生日快到了,你决定搞个恶作剧——用邮件塞满他的邮箱。
功能描述: 首先去注册十个邮箱,然后用这是个邮箱轮流发送随机生成的邮件内容给你的朋友。调整发送的频率,以免被服务器拒绝。
10. 用邮件控制电脑
你的电脑放在宿舍,这时你在教室上课,你又决定搞个恶作剧吓吓装病请假在宿舍玩游戏的室友。
功能描述: 使用邮件发送特定的命令,让电脑上的程序判断发信方是否为控制邮箱,如果是就执行发送过来的命令。通过不同的方式实现尽可能多的功能。
11.百鸡问题
公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
for i in range(0,20):for j in range(0,33):z=100-i-jif i*5+j*3+z/3==100:print("公鸡有{}只,母鸡有{}只,小鸡有{}只".format(i,j,z))
12.生成斐波那契数列的前20个数
斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,形如:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...。
list=[1,1]
for i in range(0,18):list.append(list[i]+list[i+1])
print(list)
记录Python 入门练习题目相关推荐
- Python入门实战题目
1. 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2. 两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听 ...
- Python入门练习题目
一.字符统 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 二.完数 一个数如果恰好等于它的因子之和,这个数就称为"完数". 判定一个数字是否为完数. 三.素数 ...
- python入门题目及答案_Python基础自测题答案和基础知识梳理
Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...
- 编程语言python入门要电脑什么配置能带动-对于几乎是零基础的人,直接学 Python 编程合适吗?...
在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...
- 蘑菇云「行空板Python入门教程」第七课:舒尔特方格小游戏
注意力是一切学习的根本,是大脑进行感知.学习.思维等认知活动的基本条件.然而,无论是孩子还是成年人,我们常常会因开小差.注意力无法集中而困扰.此时,找到一个合适的方法来训练我们的注意力势在必行. 舒尔 ...
- (Python) 牛客 在线编程 python入门
文章目录 前言 AC代码 01 输入输出 NP1 Hello World! NP2 多行输出 NP3 读入字符串 NP4 读入整数数字 NP5 格式化输出(一) NP6 牛牛的小数输出 02 类型转换 ...
- python入门技能树评测-积跬步以至千里
很早前就看C站开始搞这个技能树的栏目了,我记得开始时只有C语言,奈何大一时被指针虐的体无完肤,遂敬而远之.最近看到有python技能树入门了,加之近期需求不紧,可缓图之. 很早前就看C站开始搞这个技能 ...
- python 入门题库————python语句和基础数理
python 入门题库 python 题库 Python使用符号_______表示注释 Python不支持的数据类型有 查看python版本的命令是 在Python中,print(type(16/4) ...
- 如何高效学习Python?Python入门 Python教程 Python学习路线
如何高效学习Python?Python入门 Python教程 Python学习路线 试想,这么好的回答,不读完岂不是后悔? Python岗位有哪些呢?主要的岗位有这些: Python全栈开发工程师(1 ...
最新文章
- scala tail recursive优化,复用函数栈
- JNDI数据源的连接属性
- 前端路由实现原理(history)
- linux下达梦数据库启动_linux上安装tomcat和达梦数据库
- 屏幕距离和坐便转换工具_【软件推荐】你和大神的距离,只差这几个效率工具!...
- 电脑尺寸大小在哪里看_科技资讯:电脑弹出本地计算机上的服务启动后停止的提示在哪里看...
- Spring AOP AspectJ 代码实例
- ssis 列转换_SSIS中的术语提取转换
- POJ2146 Confusing Login Names [最小字符串编辑距离]
- Hbase备份与恢复(快照技术)
- java函数改变参数值_Java函数参数值正在改变
- C++之指向const对象的指针和const指针
- HDMI热插拔检测原理
- Kubernetes基本概念
- PPT 动画模板使用技巧
- 卡顿、画面撕裂、延迟、晕眩为什么与帧率、刷新率有关
- python井字棋_python实现井字棋游戏
- xp下安装什么linux系统版本,windows xp sp3下怎么安装linux系统?
- 推进企业使用正版软件工作部际联席会议第四次全体会议(2010)
- mysql : 使用不等于过滤null的问题