目录
(二)两数字运算,求和我们使用了加号 (+)运算符,除此外,还有 减号 (-), 乘号 (*), 除号 (/), 地板除 (//) 或 取余 (%)。
(二)以下实例为通过用户输入一个数字,并计算这个数字的平方根:
(一)在 Python 中,可以使用内置的 random 模块来生成随机数。
(一)以下实例通过使用 if...elif...else 语句判断数字是正数、负数或零:
(一)定义一个整型数组,并将指定个数的元素翻转到数组的尾部。
一、Python Hello World 实例
以下实例为学习 Python 的第一个实例,即如何输出 "Hello World!":
执行以上代码输出结果为:
Hello World!
二、 Python 数字求和
(一)以下实例为通过用户输入两个数字,并计算两个数字之和:
执行以上代码输出结果为:
输入第一个数字:1.5 输入第二个数字:2.5 数字 1.5 和 2.5 相加结果为: 4.0
在该实例中,我们通过用户输入两个数字来求和。使用了内置函数 input() 来获取用户的输入,input() 返回一个字符串,所以我们需要使用 float() 方法将字符串转换为数字。
(二)两数字运算,求和我们使用了加号 (+)运算符,除此外,还有 减号 (-), 乘号 (*), 除号 (/), 地板除 (//) 或 取余 (%)。
(三)我们还可以将以上运算,合并为一行代码:
执行以上代码输出结果为:
$ python test.py 输入第一个数字:1.5 输入第二个数字:2.5 两数之和为 4.0
三、Python 平方根
(一)平方根,又叫二次方根,表示为〔√ ̄〕。
如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。
(二)以下实例为通过用户输入一个数字,并计算这个数字的平方根:
执行以上代码输出结果为:
$ python test.py 请输入一个数字: 4 4.000 的平方根为 2.000
在该实例中,我们通过用户输入一个数字,并使用指数运算符 ** 来计算该数的平方根。
该程序只适用于正数。
(三)负数和复数可以使用以下的方式:
执行以上代码输出结果为:
$ python test.py 请输入一个数字: -8 -8 的平方根为 0.000+2.828j
该实例中,我们使用了 cmath (complex math) 模块的 sqrt() 方法。
四、Python 二次方程
以下实例为通过用户输入数字,并计算二次方程:
执行以上代码输出结果为:
$ python test.py 输入 a: 1 输入 b: 5 输入 c: 6 结果为 (-3+0j) 和 (-2+0j)
该实例中,我们使用了 cmath (complex math) 模块的 sqrt() 方法 来计算平方根。
五、Python 计算三角形的面积
以下实例为通过用户输入三角形三边长度,并计算三角形的面积:
执行以上代码输出结果为:
$ python test.py 输入三角形第一边长: 5 输入三角形第二边长: 6 输入三角形第三边长: 7 三角形面积为 14.70
六、Python 计算圆的面积
圆的面积公式为 :
公式中 r 为圆的半径。
以上实例输出结果为:
圆的面积为 78.550000
七、Python 随机数生成
(一)在 Python 中,可以使用内置的 random 模块来生成随机数。
import random
(二)random.random()
random.random() 返回一个介于 0.0 和 1.0 之间的随机小数
执行以上代码输出结果为:
0.7597072251250637
(三)random.randint(a, b)
random.randint(a, b) 用于返回一个介于 a 和 b 之间的整数(包括 a 和 b)。
random.randint(a,b)
函数返回数字 N ,N 为 a 到 b 之间的数字(a <= N <= b),包含 a 和 b。
以下实例演示了如何生成一个 0 ~ 9 之间随机数:
执行以上代码输出结果为:
4
(四)random.choice(sequence)
random.choice(sequence) 用于从序列中随机选择一个元素:
执行以上代码输出结果为:
4
(五)random.shuffle(sequence)
random.shuffle(sequence) 用于将序列中的元素进行随机排序:
执行以上代码输出结果为:
[3, 2, 4, 5, 1]
八、Python 摄氏温度转华氏温度
以下实例演示了如何将摄氏温度转华氏温度:
执行以上代码输出结果为:
输入摄氏温度: 38 38.0 摄氏温度转为华氏温度为 100.4
以上实例中,摄氏温度转华氏温度的公式为 celsius * 1.8 = fahrenheit - 32。所以得到以下式子:
celsius = (fahrenheit - 32) / 1.8
九、Python 交换变量
(一)以下实例通过用户输入两个变量,并相互交换:
执行以上代码输出结果为:
输入 x 值: 2 输入 y 值: 3 交换后 x 的值为: 3 交换后 y 的值为: 2
以上实例中,我们创建了临时变量 temp ,并将 x 的值存储在 temp 变量中,接着将 y 值赋给 x,最后将 temp 赋值给 y 变量。
(二)不使用临时变量
我们也可以不创建临时变量,用一个非常优雅的方式来交换变量:
x,y = y,x
所以以上实例就可以修改为:
执行以上代码输出结果为:
输入 x 值: 1 输入 y 值: 2 交换后 x 的值为: 2 交换后 y 的值为: 1
十、Python if 语句
(一)以下实例通过使用 if...elif...else 语句判断数字是正数、负数或零:
执行以上代码输出结果为:
输入一个数字: 3 正数
(二)我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
输入一个数字: 0 零
十一、Python 判断字符串是否为数字
以下实例通过创建自定义函数 is_number() 方法来判断字符串是否为数字:
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
False True True True True True True True False
更多方法
Python isdigit()方法检测字符串是否只由数字组成。
Python isnumeric()方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
十二、Python 判断奇数偶数
以下实例用于判断一个数字是否为奇数或偶数:
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
输入一个数字: 3 3 是奇数
十三、Python 判断闰年
以下实例用于判断用户输入的年份是否为闰年:
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
输入一个年份: 2000 2000 是闰年
输入一个年份: 2011 2011 不是闰年
十四、Python 获取最大值函数
以下实例中我们使用max()方法求最大值:
执行以上代码输出结果为:
2 b 2 2 80, 100, 1000 最大值为: 1000 -20, 100, 400最大值为: 400 -80, -20, -10最大值为: -10 0, 100, -400最大值为: 100
十五、Python 质数判断
一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数。
执行以上代码输出结果为:
$ python3 test.py 请输入一个数字: 1 1 不是质数 $ python3 test.py 请输入一个数字: 4 4 不是质数 2 乘于 2 是 4 $ python3 test.py 请输入一个数字: 5 5 是质数
十六、Python 输出指定范围内的素数
素数(prime number)又称质数,有无限个。除了1和它本身以外不再被其他的除数整除。
以下实例可以输出指定范围内的素数:
执行以上程序,输出结果为:
$ python3 test.py 输入区间最小值: 1 输入区间最大值: 100 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
十七、Python 阶乘实例
整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!=1×2×3×...×n。
执行以上代码输出结果为:
请输入一个数字: 3 3 的阶乘为 6
十八、Python 九九乘法表
以下实例演示了如何实现九九乘法表:
执行以上代码输出结果为:
通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。
十九、Python 斐波那契数列
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。
Python 实现斐波那契数列代码如下:
执行以上代码输出结果为:
你需要几项? 10 斐波那契数列: 0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,
二十、Python 阿姆斯特朗数
如果一个 n 位正整数等于其各位数字的 n 次方之和,则称该数为阿姆斯特朗数。
例如 1^3 + 5^3 + 3^3 = 153。
1000 以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。
(一)以下代码用于检测用户输入的数字是否为阿姆斯特朗数:
执行以上代码输出结果为:
$ python3 test.py 请输入一个数字: 345 345 不是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 153 153 是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 1634 1634 是阿姆斯特朗数
(二)获取指定期间内的阿姆斯特朗数
执行以上代码输出结果为:
最小值: 1 最大值: 10000 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
以上实例中我们输出了 1 到 10000 之间的阿姆斯特朗数。
二十一、Python 十进制转二进制、八进制、十六进制
(一)以下代码用于实现十进制转二进制、八进制、十六进制:
执行以上代码输出结果为:
python3 test.py 输入数字:5 十进制数为:5 转换为二进制为: 0b101 转换为八进制为: 0o5 转换为十六进制为: 0x5
(二)二进制转换实例
输出结果:
二进制数: 101010 转换为十进制: 42 转换为八进制: 0o52 转换为十六进制: 0x2a
(三)八进制转换实例
输出结果:
八进制数: 52 转换为十进制: 42 转换为二进制: 0b101010 转换为十六进制: 0x2a
(四)十六进制转换实例
输出结果:
十六进制数: 2a 转换为十进制: 42 转换为二进制: 0b101010 转换为八进制: 0o52
二十二、Python ASCII码与字符相互转换
以下代码用于实现ASCII码与字符相互转换:
执行以上代码输出结果为:
python3 test.py 请输入一个字符: a 请输入一个ASCII码: 101 a 的ASCII 码为 97 101 对应的字符为 e
二十三、Python 最大公约数算法
以下代码用于实现最大公约数算法:
执行以上代码输出结果为:
输入第一个数字: 54 输入第二个数字: 24 54 和 24 的最大公约数为 6
二十四、Python 最小公倍数算法
以下代码用于实现最小公倍数算法:
执行以上代码输出结果为:
输入第一个数字: 54 输入第二个数字: 24 54 和 24 的最小公倍数为 216
二十五、Python 简单计算器实现
以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算:
执行以上代码输出结果为:
选择运算: 1、相加 2、相减 3、相乘 4、相除 输入你的选择(1/2/3/4):2 输入第一个数字: 5 输入第二个数字: 2 5 - 2 = 3
二十六、Python 生成日历
以下代码用于生成指定日期的日历:
执行以上代码输出结果为:
输入年份: 2015 输入月份: 6 June 2015 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
二十七、Python 使用递归斐波那契数列
以下代码使用递归的方式来生成斐波那契数列:
执行以上代码输出结果为:
您要输出几项? 10 斐波那契数列: 0 1 1 2 3 5 8 13 21 34
二十八、Python 文件 IO
以下代码演示了Python基本的文件操作,包括 open,read,write:
执行以上代码输出结果为:
该文本会写入到文件中 看到我了吧!
二十九、Python 字符串判断
以下代码演示了Python字符串的判断:
执行以上代码输出结果为:
测试实例一 False False False True False False False ------------------------ 测试实例二 True True False True False False
三十、Python 字符串大小写转换
以下代码演示了如何将字符串转换为大写字母,或者将字符串转为小写字母等:
# Filename : test.py # author by : www.runoob.com str = "www.runoob.com" print(str.upper()) # 把所有字符中的小写字母转换成大写字母 print(str.lower()) # 把所有字符中的大写字母转换成小写字母 print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写 print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写
执行以上代码输出结果为:
WWW.RUNOOB.COM www.runoob.com Www.runoob.com Www.Runoob.Com
三十一、Python 计算每个月天数
以下代码通过导入 calendar 模块来计算每个月的天数:
执行以上代码输出结果为:
(3, 30)
输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),第二个元素是这个月的天数。以上实例输出的意思为 2016 年 9 月份的第一天是星期四,该月总共有 30 天。
三十二、Python 获取昨天日期
以下代码通过导入 datetime 模块来获取昨天的日期:
执行以上代码输出结果为:
2023-07-01
以上实例输出的意思为昨天的日期是 2023年 7月 1 日。
三十三、Python list 常用操作
(一)list 定义
>>> li = ["a", "b", "mpilgrim", "z", "example"]
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1]
'b'
(二)list 负数索引
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[-1]
'example'
>>> li[-3]
'mpilgrim'
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1:3]
['b', 'mpilgrim']
>>> li[1:-1]
['b', 'mpilgrim', 'z']
>>> li[0:3]
['a', 'b', 'mpilgrim']
(三)list 增加元素
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
(四)list 搜索
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.index("example")
5
>>> li.index("new")
2
>>> li.index("c")
Traceback (innermost last):
File "<interactive input>", line 1, in ?
ValueError: list.index(x): x not in list
>>> "c" in li
False
(五)list 删除元素
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.remove("z")
>>> li
['a', 'b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements']
>>> li.remove("new") # 删除首次出现的一个值
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two', 'elements'] # 第二个 'new' 未删除
>>> li.remove("c") #list 中没有找到值, Python 会引发一个异常
Traceback (innermost last):
File "<interactive input>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> li.pop() # pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。
'elements'
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
(六)list 运算符
>>> li = ['a', 'b', 'mpilgrim']
>>> li = li + ['example', 'new']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new']
>>> li += ['two']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
>>> li = [1, 2] * 3
>>> li
[1, 2, 1, 2, 1, 2]
(七)使用join链接list成为字符串
>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> ";".join(["%s=%s" % (k, v) for k, v in params.items()])
'server=mpilgrim;uid=sa;database=master;pwd=secret'
join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。
(八)list 分割字符串
>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s = ";".join(li)
>>> s
'server=mpilgrim;uid=sa;database=master;pwd=secret'
>>> s.split(";")
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s.split(";", 1)
['server=mpilgrim', 'uid=sa;database=master;pwd=secret']
split 与 join 正好相反, 它将一个字符串分割成多元素 list。
注意, 分隔符 (";") 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。
split 接受一个可选的第二个参数, 它是要分割的次数。
(九)list 的映射解析
>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]
(十)dictionary 中的解析
>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> params.keys()
dict_keys(['server', 'database', 'uid', 'pwd'])
>>> params.values()
dict_values(['mpilgrim', 'master', 'sa', 'secret'])
>>> params.items()
dict_items([('server', 'mpilgrim'), ('database', 'master'), ('uid', 'sa'), ('pwd', 'secret')])
>>> [k for k, v in params.items()]
['server', 'database', 'uid', 'pwd']
>>> [v for k, v in params.items()]
['mpilgrim', 'master', 'sa', 'secret']
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'database=master', 'uid=sa', 'pwd=secret']
(十一)list 过滤
>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
>>> [elem for elem in li if len(elem) > 1]
['mpilgrim', 'foo']
>>> [elem for elem in li if elem != "b"]
['a', 'mpilgrim', 'foo', 'c', 'd', 'd']
>>> [elem for elem in li if li.count(elem) == 1]
['a', 'mpilgrim', 'foo', 'c']
三十四、Python 约瑟夫生者死者小游戏
30 个人在一条船上,超载,需要 15 人下船。
于是人们排成一队,排队的位置即为他们的编号。
报数,从 1 开始,数到 9 的人下船。
如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?
执行以上实例,输出结果为:
9号下船了 18号下船了 27号下船了 6号下船了 16号下船了 26号下船了 7号下船了 19号下船了 30号下船了 12号下船了 24号下船了 8号下船了 22号下船了 5号下船了 23号下船了
三十五、Python 五人分鱼
A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。
C、D、E依次醒来,也按同样的方法拿鱼。
问他们至少捕了多少条鱼?
运行结果:
总共有3121条鱼
三十六、Python 实现秒表功能
以下实例使用 time 模块来实现秒表功能:
测试结果为:
按下回车开始计时,按下 Ctrl + C 停止计时。 开始 计时: 3.0 秒 计时: 5.0 秒 ^C结束 6.0 秒 总共的时间为: 6.69 secs
三十七、Python 计算 n 个自然数的立方和
计算公式 13 + 23 + 33 + 43 + …….+ n3
实现要求:
输入 : n = 5
输出 : 225
公式 : 13 + 23 + 33 + 43 + 53 = 225
输入 : n = 7
输入 : 784
公式 : 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784
以上实例输出结果为:
225
三十八、Python 计算数组元素之和
定义一个整型数组,并计算元素之和。
实现要求:
输入 : arr[] = {1, 2, 3}
输出 : 6
计算: 1 + 2 + 3 = 6
以上实例输出结果为:
数组元素之和为 34
三十九、Python 数组翻转指定个数的元素
(一)定义一个整型数组,并将指定个数的元素翻转到数组的尾部。
例如:(ar[], d, n) 将长度为 n 的 数组 arr 的前面 d 个元素翻转到数组尾部。
(二)以下演示了将数组的前面两个元素放到数组后面。
原始数组:
翻转后:
(三)实例1
以上实例输出结果为:
3 4 5 6 7 1 2
(四)实例2
以上实例输出结果为:
3 4 5 6 7 1 2
(五)实例3
以上实例输出结果为:
3 4 5 6 7 1 2