初学Python可能会遇见的小程序

  • 前言
  • 《孙子算经》中的典例
  • 取随机数问题
  • “水仙花数”问题
    • for循环
    • while循环
  • 九九乘法表
  • 简单选择排序
  • 回文数问题
    • 序列的分片
    • .reverse() 运算
  • 猜数小游戏

前言

本文总结了在大一上这一学期内我觉得比较经典的一些Python小程序,其中有一部分是我的授课老师在课上布置的任务,但代码都是我自己敲的。期待大家在评论区留下宝贵的意见~

《孙子算经》中的典例

问:今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问几何?

n = 0
while True:n = n + 1if n % 3 == 2 and n % 5 == 3 and n % 7 == 2:print('符合条件的数是%s' % n)break

这里介绍一下 while True 的用法:
whileTrue 意思是要一直进行死循环,所以通常会在while true循环中加入break条件判断,用来使在循环内部的某个条件达成时终止循环,通常用于需要多次输入并判断的场景,比如输入密码的程序。下面是一个例子:

key = int(input('请输入:'))
while True:if key <= 0:key = int(input('输入错误,请重新输入:'))continueelse:print(key)break

取随机数问题

请X侧,第X排,第X列的同学回答问题。

import random
a = random. randint(0, 1)
b = random. randint(1, 10)
c = random. randint(1, 10)
if a == 0:a = '左'
else:a = '右'
print('请%s侧,第%s排,第%s列的同学来回答问题。'%(a, b, c))

“水仙花数”问题

例如153,三位数,33+53+1^3=153,写一个程序,输出所有的水仙花数
这里介绍两种方法:

for循环

for x in range(100,1000):a = x // 100b = x // 10 - a * 10c = x % 10if x == a**3 + b**3 + c**3:print(x)

while循环

x = 100
while x < 1000:a = x // 100b = x // 10 - a * 10c = x % 10if x == a**3 + b**3 + c**3:print(x)x += 1      # += 表示增强赋值

九九乘法表

按照九九乘法表的格式,写一个程序,输出一个九九乘法表:
这里要用到嵌套循环

for i in range(1, 10):for j in range(1, i+1):x = i * jprint('%s * %s = %s' % (j, i, x), end='  ')print()

注意,pycharm里的print() 函数默认换行,设置end=’ 'print() 就不会进行换行操作,当这个循环完成后设置print() 换行。

简单选择排序

a = [23, 45, 13, 9, 52, 18]
for i in range(len(a)):for j in range(i+1, len(a)):if a[i] > a[j]:a[i], a[j] = a[j], a[i]      #更换列表元素的位置
print(a)

说明一下,Python里有内置函数sort() ,可直接将序列进行升降排序,写这个程序的目的是为了更好地理解嵌套循环。

回文数问题

回文数问题我们可以用序列的通有方法或列表的专有方法来解决:

序列的分片

x = input('请输入一个数:')
y = x[::-1]
if x == y:print('%s是回文数' % x)
else:print('%s不是回文数' % x)

.reverse() 运算

x = input('请输入一个数:')
a = list(x)
b = a[:]
a.reverse()
if a == b:print('%s是回文数' % x)
else:print('%s不是回文数' % x)

注意,这两种方法是有很大的区别的,序列的通用方法不改变原有列表,而.reverse() 运算会改变原有列表,故一般推荐使用序列的通用方法。

猜数小游戏

设计一个程序,计算机随机生成一个数,输入猜数,若猜对,输出“good guess!”,若猜错,计算机会告知猜大了还是猜小了,5次机会之后,游戏结束(“game over!”)

import random
a = random.randint(1, 10)
n = 1
while n <= 5:b = int(input())if b == a:print('good guess!')breakelif b > a:print('your guess > the key, please try again!')n = n + 1elif b < a:print('your guess < the key, please try again!')jn = n + 1
if n > 5:print('game over!')print('the key is', a)

初学Python可能会遇见的小程序相关推荐

  1. 初学Python可能会遇见的小知识

    初学Python可能会遇见的小知识 导引 \n,\t,\n\t的用法及区别 ASCLL编码 输出字符串居左,居右,居中 and 和 or 的使用 赋值 列表的遍历 用for循环遍历列表 用while循 ...

  2. python爬取微信小程序(实战篇)

    一.背景介绍 近期有需求需要抓取微信小程序中的数据分析,与一般的网页爬虫类似,主要目标是获取主要的URL地址进行数据爬取,而问题的关键在于如何获取移动端request请求后https加密的参数.本文从 ...

  3. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  4. python socket能做什么_用python写一个聊天小程序!和女朋友的专属聊天工具!

    原标题:用python写一个聊天小程序!和女朋友的专属聊天工具! 1.UDP简介 Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP).UDP为应用程序提供了无需建立就可 ...

  5. python点名代码_基于python tkinter的点名小程序功能的实例代码

    基于python tkinter的点名小程序功能的实例代码,花名册,次数,窗口,未找到,初始化 基于python tkinter的点名小程序功能的实例代码 易采站长站,站长之家为您整理了基于pytho ...

  6. 计算机毕业设计Python+uniapp实验室考勤小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp实验室考勤小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pytho ...

  7. 计算机毕业设计Python+uniapp基于微信小程序某企业考勤系统(小程序+源码+LW)

    计算机毕业设计Python+uniapp基于微信小程序某企业考勤系统(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ ...

  8. 计算机毕业设计Python+uniapp养花助手小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp养花助手小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python ...

  9. python英语词汇读音_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...

    小编在学习英语的时候,遇到不认识的英语单词,会用百度翻译来查询单词的释义和音标,并播放单词的读音.为了便于复习和记忆,需要将单词的释义和音标以复制粘贴的方式保存到本地. 这个过程非常繁琐,于是小编就想 ...

最新文章

  1. python 管道 非阻塞_python – 非阻塞Scrapy管道到数据库
  2. 【Vegas原创】添加SQL Server Agent作业步骤中的运行身份
  3. oracle 10g 返回RemoteOperationException: ERROR: Wrong password for user
  4. java classpath bat_tomcat启动批处理——setclasspath.bat | 学步园
  5. linux怎么检测文件完整性,Linux如何基于AIDE检测文件系统完整性
  6. K8S的SDN容器网络解决方案【机制篇】
  7. linux pmap 内存泄露,一个驱动导致的内存泄漏问题的分析过程(meminfo-pmap-slabtop-alloc_calls)...
  8. 【angularjs】【学习心得】ng-class总结
  9. CSS3 响应式布局之响应式图片
  10. 运行orbslam2出现 段错误 (核心已转储)_JDK 14已发布快速预览16个新特性
  11. 【转】Android用NDK和整套源码下编译JNI的不同
  12. springMVC 拦截器简单配置
  13. 伪响应式开发(PC和Mobile分离)
  14. 蓝牙打印 设置打印样式_双编辑模式 打印自由更轻松!——海鸟贴纸打印机蓝牙按键版体验...
  15. Linux 常用的zip压缩和解压命令详解
  16. RibbitMQ入门实战详解
  17. 可以把JPG图片转成PDF的格式转换器
  18. 文本编辑器Geany
  19. unity的2d屏幕坐标转3d世界坐标
  20. 一本通1646GT 考试

热门文章

  1. 没有目标,永远也找不到人生方向
  2. matlab制作圆摆线动画
  3. 基于ssm的一个一个众筹系统平台
  4. Linux设备驱动-platform虚拟总线dya02
  5. Yeoman学习-yo篇
  6. 【ELK】7. elasticsearch linux上操作es命令详解
  7. QQ第三方登陆流程详解
  8. python之会动的图片
  9. Keep It for Mac(专业笔记工具)
  10. python面向过程学习笔记