Python3 实例(一) | 菜鸟教程(十九)

目录

一、Python Hello World 实例

二、 Python 数字求和

(一)以下实例为通过用户输入两个数字,并计算两个数字之和:

(二)两数字运算,求和我们使用了加号 (+)运算符,除此外,还有 减号 (-), 乘号 (*), 除号 (/), 地板除 (//) 或 取余 (%)。

(三)我们还可以将以上运算,合并为一行代码:

 三、Python 平方根

(一)平方根,又叫二次方根,表示为〔√ ̄〕。

(二)以下实例为通过用户输入一个数字,并计算这个数字的平方根:

(三)负数和复数可以使用以下的方式:

四、Python 二次方程

五、Python 计算三角形的面积

六、Python 计算圆的面积

七、Python 随机数生成

(一)在 Python 中,可以使用内置的 random 模块来生成随机数。

 (二)random.random()

 (三)random.randint(a, b)

(四)random.choice(sequence)

(五)random.shuffle(sequence)

八、Python 摄氏温度转华氏温度

九、Python 交换变量

(一)以下实例通过用户输入两个变量,并相互交换:

(二)不使用临时变量

十、Python if 语句

(一)以下实例通过使用 if...elif...else 语句判断数字是正数、负数或零:

(二)我们也可以使用内嵌 if 语句来实现:

十一、Python 判断字符串是否为数字

更多方法

十二、Python 判断奇数偶数

十三、Python 判断闰年

十四、Python 获取最大值函数

十五、Python 质数判断

十六、Python 输出指定范围内的素数

十七、Python 阶乘实例

十八、Python 九九乘法表

十九、Python 斐波那契数列

二十、Python 阿姆斯特朗数

(一)以下代码用于检测用户输入的数字是否为阿姆斯特朗数:

 (二)获取指定期间内的阿姆斯特朗数

二十一、Python 十进制转二进制、八进制、十六进制

(一)以下代码用于实现十进制转二进制、八进制、十六进制:

(二)二进制转换实例

(三)八进制转换实例

(四)十六进制转换实例

二十二、Python ASCII码与字符相互转换

二十三、Python 最大公约数算法

二十四、Python 最小公倍数算法

二十五、Python 简单计算器实现

二十六、Python 生成日历

二十七、Python 使用递归斐波那契数列

二十八、Python 文件 IO

二十九、Python 字符串判断

三十、Python 字符串大小写转换

三十一、Python 计算每个月天数

三十二、Python 获取昨天日期

三十三、Python list 常用操作

(一)list 定义

(二)list 负数索引

(三)list 增加元素

(四)list 搜索

(五)list 删除元素

(六)list 运算符

(七)使用join链接list成为字符串

(八)list 分割字符串

(九)list 的映射解析

(十)dictionary 中的解析

(十一)list 过滤

三十四、Python 约瑟夫生者死者小游戏

三十五、Python 五人分鱼

三十六、Python 实现秒表功能

三十七、Python 计算 n 个自然数的立方和

三十八、Python 计算数组元素之和

三十九、Python 数组翻转指定个数的元素

(一)定义一个整型数组,并将指定个数的元素翻转到数组的尾部。

(二)以下演示了将数组的前面两个元素放到数组后面。

 (三)实例1

 (四)实例2

 (五)实例3


一、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

猜你喜欢

转载自blog.csdn.net/wuds_158/article/details/131495981