初学Python可能会遇见的小程序
初学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可能会遇见的小程序相关推荐
- 初学Python可能会遇见的小知识
初学Python可能会遇见的小知识 导引 \n,\t,\n\t的用法及区别 ASCLL编码 输出字符串居左,居右,居中 and 和 or 的使用 赋值 列表的遍历 用for循环遍历列表 用while循 ...
- python爬取微信小程序(实战篇)
一.背景介绍 近期有需求需要抓取微信小程序中的数据分析,与一般的网页爬虫类似,主要目标是获取主要的URL地址进行数据爬取,而问题的关键在于如何获取移动端request请求后https加密的参数.本文从 ...
- python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...
每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...
- python socket能做什么_用python写一个聊天小程序!和女朋友的专属聊天工具!
原标题:用python写一个聊天小程序!和女朋友的专属聊天工具! 1.UDP简介 Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP).UDP为应用程序提供了无需建立就可 ...
- python点名代码_基于python tkinter的点名小程序功能的实例代码
基于python tkinter的点名小程序功能的实例代码,花名册,次数,窗口,未找到,初始化 基于python tkinter的点名小程序功能的实例代码 易采站长站,站长之家为您整理了基于pytho ...
- 计算机毕业设计Python+uniapp实验室考勤小程序(小程序+源码+LW)
计算机毕业设计Python+uniapp实验室考勤小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pytho ...
- 计算机毕业设计Python+uniapp基于微信小程序某企业考勤系统(小程序+源码+LW)
计算机毕业设计Python+uniapp基于微信小程序某企业考勤系统(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ ...
- 计算机毕业设计Python+uniapp养花助手小程序(小程序+源码+LW)
计算机毕业设计Python+uniapp养花助手小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python ...
- python英语词汇读音_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...
小编在学习英语的时候,遇到不认识的英语单词,会用百度翻译来查询单词的释义和音标,并播放单词的读音.为了便于复习和记忆,需要将单词的释义和音标以复制粘贴的方式保存到本地. 这个过程非常繁琐,于是小编就想 ...
最新文章
- python 管道 非阻塞_python – 非阻塞Scrapy管道到数据库
- 【Vegas原创】添加SQL Server Agent作业步骤中的运行身份
- oracle 10g 返回RemoteOperationException: ERROR: Wrong password for user
- java classpath bat_tomcat启动批处理——setclasspath.bat | 学步园
- linux怎么检测文件完整性,Linux如何基于AIDE检测文件系统完整性
- K8S的SDN容器网络解决方案【机制篇】
- linux pmap 内存泄露,一个驱动导致的内存泄漏问题的分析过程(meminfo-pmap-slabtop-alloc_calls)...
- 【angularjs】【学习心得】ng-class总结
- CSS3 响应式布局之响应式图片
- 运行orbslam2出现 段错误 (核心已转储)_JDK 14已发布快速预览16个新特性
- 【转】Android用NDK和整套源码下编译JNI的不同
- springMVC 拦截器简单配置
- 伪响应式开发(PC和Mobile分离)
- 蓝牙打印 设置打印样式_双编辑模式 打印自由更轻松!——海鸟贴纸打印机蓝牙按键版体验...
- Linux 常用的zip压缩和解压命令详解
- RibbitMQ入门实战详解
- 可以把JPG图片转成PDF的格式转换器
- 文本编辑器Geany
- unity的2d屏幕坐标转3d世界坐标
- 一本通1646GT 考试