新手记录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 入门练习题目相关推荐

  1. Python入门实战题目

    1. 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2. 两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听 ...

  2. Python入门练习题目

    一.字符统 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 二.完数 一个数如果恰好等于它的因子之和,这个数就称为"完数". 判定一个数字是否为完数. 三.素数 ...

  3. python入门题目及答案_Python基础自测题答案和基础知识梳理

    Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...

  4. 编程语言python入门要电脑什么配置能带动-对于几乎是零基础的人,直接学 Python 编程合适吗?...

    在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...

  5. 蘑菇云「行空板Python入门教程」第七课:舒尔特方格小游戏

    注意力是一切学习的根本,是大脑进行感知.学习.思维等认知活动的基本条件.然而,无论是孩子还是成年人,我们常常会因开小差.注意力无法集中而困扰.此时,找到一个合适的方法来训练我们的注意力势在必行. 舒尔 ...

  6. (Python) 牛客 在线编程 python入门

    文章目录 前言 AC代码 01 输入输出 NP1 Hello World! NP2 多行输出 NP3 读入字符串 NP4 读入整数数字 NP5 格式化输出(一) NP6 牛牛的小数输出 02 类型转换 ...

  7. python入门技能树评测-积跬步以至千里

    很早前就看C站开始搞这个技能树的栏目了,我记得开始时只有C语言,奈何大一时被指针虐的体无完肤,遂敬而远之.最近看到有python技能树入门了,加之近期需求不紧,可缓图之. 很早前就看C站开始搞这个技能 ...

  8. python 入门题库————python语句和基础数理

    python 入门题库 python 题库 Python使用符号_______表示注释 Python不支持的数据类型有 查看python版本的命令是 在Python中,print(type(16/4) ...

  9. 如何高效学习Python?Python入门 Python教程 Python学习路线

    如何高效学习Python?Python入门 Python教程 Python学习路线 试想,这么好的回答,不读完岂不是后悔? Python岗位有哪些呢?主要的岗位有这些: Python全栈开发工程师(1 ...

最新文章

  1. scala tail recursive优化,复用函数栈
  2. JNDI数据源的连接属性
  3. 前端路由实现原理(history)
  4. linux下达梦数据库启动_linux上安装tomcat和达梦数据库
  5. 屏幕距离和坐便转换工具_【软件推荐】你和大神的距离,只差这几个效率工具!...
  6. 电脑尺寸大小在哪里看_科技资讯:电脑弹出本地计算机上的服务启动后停止的提示在哪里看...
  7. Spring AOP AspectJ 代码实例
  8. ssis 列转换_SSIS中的术语提取转换
  9. POJ2146 Confusing Login Names [最小字符串编辑距离]
  10. Hbase备份与恢复(快照技术)
  11. java函数改变参数值_Java函数参数值正在改变
  12. C++之指向const对象的指针和const指针
  13. HDMI热插拔检测原理
  14. Kubernetes基本概念
  15. PPT 动画模板使用技巧
  16. 卡顿、画面撕裂、延迟、晕眩为什么与帧率、刷新率有关
  17. python井字棋_python实现井字棋游戏
  18. xp下安装什么linux系统版本,windows xp sp3下怎么安装linux系统?
  19. 推进企业使用正版软件工作部际联席会议第四次全体会议(2010)
  20. mysql : 使用不等于过滤null的问题

热门文章

  1. 安全漏洞中的倚天剑——XSS跨站脚本攻击
  2. SAP自定义权限对象
  3. 分布式存储开发:Curve中的内存管理
  4. LaTeX入门学习9(tikz基础-01)
  5. python批量建立文件夹
  6. 英语听说读写 复读机软件LangStream
  7. Android----在线点9图片制作
  8. cad能整体比例缩小吗_cad比例缩放 cad如何整体缩小尺寸
  9. 机器学习:回归分析—— 一元线性回归、多元线性回归的简单实现
  10. java双音频文件分频_分频电路作用,怎么来理解二分频电路?