关于python经典的80个案例操作(附源码解析)
1.Python Hello World 实例# -*- coding: UTF-8 -*-# Filename : helloworld.py# author by : www.runoob.com# 该实例输出 Hello World!print('Hello World!')执行以上代码输出结果为:Hello World!2.Python 数字求和# -*- coding: UTF-8 -*
1.Python Hello World 实例
# -*- coding: UTF-8 -*-
# Filename : helloworld.py
# author by : www.runoob.com
# 该实例输出 Hello World!
print('Hello World!')
执行以上代码输出结果为:
Hello World!
2.Python 数字求和
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 用户输入数字
num1 = input('输入第一个数字:')
num2 = input('输入第二个数字:')
# 求和
sum = float(num1) + float(num2)
# 显示计算结果
print('数字 {0} 和 {1} 相加结果为:{2}'.format(num1, num2, sum))
执行以上代码输出结果为:
输入第一个数字:1.5
输入第二个数字:2.5
数字 1.5 和 2.5 相加结果为:4.0
3.Python 平方根
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
num = float(input('请输入一个数字:'))
num_sqrt = num ** 0.5
print(' %0.3f 的平方根为 %0.3f'%(num ,num_sqrt))
执行以上代码输出结果为:
$ python test.py
请输入一个数字:4
4.000 的平方根为 2.000
4.Python 二次方程
实例(Python 3.0+)
# Filename : test.py
# author by : www.runoob.com
# 二次方程式 ax**2 + bx + c = 0
# a、b、c 用户提供,为实数,a ≠ 0
# 导入 cmath(复杂数学运算) 模块
import cmath
a = float(input('输入 a: '))
b = float(input('输入 b: '))
c = float(input('输入 c: '))
# 计算
d = (b**2) - (4*a*c)
# 两种求解方式
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)
print('结果为 {0} 和 {1}'.format(sol1,sol2))
执行以上代码输出结果为:
$ python test.py
输入 a: 1
输入 b: 5
输入 c: 6
结果为 (-3+0j) 和 (-2+0j)
该实例中,我们使用了 cmath (complex math) 模块的 sqrt() 方法 来计算平方根。
5.Python 计算三角形的面积
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
a = float(input('输入三角形第一边长: '))
b = float(input('输入三角形第二边长: '))
c = float(input('输入三角形第三边长: '))
# 计算半周长
s = (a + b + c) / 2
# 计算面积
area = (s*(s-a)*(s-b)*(s-c)) ** 0.5
print('三角形面积为 %0.2f' %area)
执行以上代码输出结果为:
$ python test.py
输入三角形第一边长: 5
输入三角形第二边长: 6
输入三角形第三边长: 7
三角形面积为 14.70
6.Python 计算圆的面积
# 定义一个方法来计算圆的面积
def findArea(r):
PI = 3.142
return PI * (r*r)
# 调用方法
print("圆的面积为 %.6f" % findArea(5))
7.Python 随机数生成
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 生成 0 ~ 9 之间的随机数
# 导入 random(随机数) 模块
import random
print(random.randint(0,9))
执行以上代码输出结果为:
4
以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(0 到 9),该函数的语法为:
random.randint(a,b)
8.Python 摄氏温度转华氏温度
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 用户输入摄氏温度
# 接收用户输入
celsius = float(input('输入摄氏温度: '))
# 计算华氏温度
fahrenheit = (celsius * 1.8) + 32
print('%0.1f 摄氏温度转为华氏温度为 %0.1f ' %(celsius,fahrenheit))
执行以上代码输出结果为:
输入摄氏温度: 38
38.0 摄氏温度转为华氏温度为 100.4
以上实例中,摄氏温度转华氏温度的公式为 celsius * 1.8 = fahrenheit - 32。所以得到以下式子:
celsius = (fahrenheit - 32) / 1.8
9.Python 交换变量
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 用户输入
x = input('输入 x 值: ')
y = input('输入 y 值: ')
# 创建临时变量,并交换
temp = x
x = y
y = temp
print('交换后 x 的值为: {}'.format(x))
print('交换后 y 的值为: {}'.format(y))
执行以上代码输出结果为:
输入 x 值: 2
输入 y 值: 3
交换后 x 的值为: 3
交换后 y 的值为: 2
以上实例中,我们创建了临时变量 temp ,并将 x 的值存储在 temp 变量中,接着将 y 值赋给 x,最后将 temp 赋值给 y 变量。
不使用临时变量
我们也可以不创建临时变量,用一个非常优雅的方式来交换变量:
x,y = y,x
所以以上实例就可以修改为:
实例
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 用户输入
x = input('输入 x 值: ')
y = input('输入 y 值: ')
# 不使用临时变量
x,y = y,x
print('交换后 x 的值为: {}'.format(x))
print('交换后 y 的值为: {}'.format(y))
执行以上代码输出结果为:
输入 x 值: 1
输入 y 值: 2
交换后 x 的值为: 2
交换后 y 的值为: 1
10.Python if 语句
# Filename : test.py
# author by : www.runoob.com
# 用户输入数字
num = float(input("输入一个数字: "))
if num > 0:
print("正数")
elif num == 0:
print("零")
else:
print("负数")
执行以上代码输出结果为:
输入一个数字: 3
正数
我们也可以使用内嵌 if 语句来实现:
# Filename :test.py
# author by : www.runoob.com
# 内嵌 if 语句
num = float(input("输入一个数字: "))
if num >= 0:
if num == 0:
print("零")
else:
print("正数")
else:
print("负数")
执行以上代码输出结果为:
输入一个数字: 0
零
11.Python 判断字符串是否为数字
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False
# 测试字符串和数字
print(is_number('foo')) # False
print(is_number('1')) # True
print(is_number('1.3')) # True
print(is_number('-1.37')) # True
print(is_number('1e3')) # True
# 测试 Unicode
# 阿拉伯语 5
print(is_number(' ')) # True
# 泰语 2
print(is_number('๒')) # True
# 中文数字
print(is_number('四')) # True
# 版权号
print(is_number('©')) # False
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
False
True
True
True
True
True
True
True
False
12.Python 判断奇数偶数
# Filename : test.py
# author by : www.runoob.com
# Python 判断奇数偶数
# 如果是偶数除于 2 余数为 0
# 如果余数为 1 则为奇数
num = int(input("输入一个数字: "))
if (num % 2) == 0:
print("{0} 是偶数".format(num))
else:
print("{0} 是奇数".format(num))
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
输入一个数字: 3
3 是奇数
13.Python 判断闰年
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
year = int(input("输入一个年份: "))
if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print("{0} 是闰年".format(year)) # 整百年能被400整除的是闰年
else:
print("{0} 不是闰年".format(year))
else:
print("{0} 是闰年".format(year)) # 非整百年能被4整除的为闰年
else:
print("{0} 不是闰年".format(year))
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
输入一个年份: 2000
2000 是闰年
输入一个年份: 2011
2011 不是闰年
14.Python 获取最大值函数
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 最简单的
print(max(1, 2))
print(max('a', 'b'))
# 也可以对列表和元组使用
print(max([1,2]))
print(max((1,2)))
# 更多实例
print("80, 100, 1000 最大值为: ", max(80, 100, 1000))
print("-20, 100, 400最大值为: ", max(-20, 100, 400))
print("-80, -20, -10最大值为: ", max(-80, -20, -10))
print("0, 100, -400最大值为:", max(0, 100, -400))
执行以上代码输出结果为:
2
b
2
2
80, 100, 1000 最大值为: 1000
-20, 100, 400最大值为: 400
-80, -20, -10最大值为: -10
0, 100, -400最大值为: 100
15.Python 质数判断
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# Python 程序用于检测用户输入的数字是否为质数
# 用户输入数字
num = int(input("请输入一个数字: "))
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2,num):
if (num % i) == 0:
print(num,"不是质数")
print(i,"乘于",num//i,"是",num)
break
else:
print(num,"是质数")
# 如果输入的数字小于或等于 1,不是质数
else:
print(num,"不是质数")
执行以上代码输出结果为:
$ python3 test.py
请输入一个数字: 1
1 不是质数
$ python3 test.py
请输入一个数字: 4
4 不是质数
2 乘于 2 是 4
$ python3 test.py
请输入一个数字: 5
5 是质数
16.Python 输出指定范围内的素数
# 输出指定范围内的素数
# take input from the user
lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))
for num in range(lower,upper + 1):
# 素数大于 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)
执行以上程序,输出结果为:
$ python3 test.py
输入区间最小值: 1
输入区间最大值: 100
17.Python 阶乘实例
#!/usr/bin/python3
# Filename : test.py
# author by : www.runoob.com
# 通过用户输入数字计算阶乘
# 获取用户输入的数字
num = int(input("请输入一个数字: "))
factorial = 1
# 查看数字是负数,0 或 正数
if num < 0:
print("抱歉,负数没有阶乘")
elif num == 0:
print("0 的阶乘为 1")
else:
for i in range(1,num + 1):
factorial = factorial*i
print("%d 的阶乘为 %d" %(num,factorial))
执行以上代码输出结果为:
请输入一个数字: 3
3 的阶乘为 6
18.Python 九九乘法表
# Filename : test.py
# author by : www.runoob.com
# 九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}\t'.format(j, i, i*j), end='')
print()
执行以上代码输出结果为:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
19.Python 斐波那契数列
# Filename : test.py
# author by : www.runoob.com
# Python 斐波那契数列实现
# 获取用户输入数据
nterms = int(input("你需要几项?"))
# 第一和第二项
n1 = 0
n2 = 1
count = 2
# 判断输入的值是否合法
if nterms <= 0:
print("请输入一个正整数。")
elif nterms == 1:
print("斐波那契数列:")
print(n1)
else:
print("斐波那契数列:")
print(n1,",",n2,end=" , ")
while count < nterms:
nth = n1 + n2
print(nth,end=" , ")
# 更新值
n1 = n2
n2 = nth
count += 1
执行以上代码输出结果为:
你需要几项?10
斐波那契数列:
0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,
20.Python 阿姆斯特朗数
# Filename : test.py
# author by : www.runoob.com
# Python 检测用户输入的数字是否为阿姆斯特朗数
# 获取用户输入的数字
num = int(input("请输入一个数字: "))
# 初始化变量 sum
sum = 0
# 指数
n = len(str(num))
# 检测
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# 输出结果
if num == sum:
print(num,"是阿姆斯特朗数")
else:
print(num,"不是阿姆斯特朗数")
执行以上代码输出结果为:
$ python3 test.py
请输入一个数字: 345
345 不是阿姆斯特朗数
$ python3 test.py
请输入一个数字: 153
153 是阿姆斯特朗数
$ python3 test.py
请输入一个数字: 1634
1634 是阿姆斯特朗数
获取指定期间内的阿姆斯特朗数
实例(Python 3.0+)
# Filename :test.py
# author by : www.runoob.com
# 获取用户输入数字
lower = int(input("最小值: "))
upper = int(input("最大值: "))
for num in range(lower,upper + 1):
# 初始化 sum
sum = 0
# 指数
n = len(str(num))
# 检测
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num)
执行以上代码输出结果为:
最小值: 1
最大值: 10000
1
2
3
4
5
6
7
8
9
153
370
371
407
1634
8208
9474
21.Python 十进制转二进制、八进制、十六进制
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 获取用户输入十进制数
dec = int(input("输入数字:"))
print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))
执行以上代码输出结果为:
python3 test.py
输入数字:5
十进制数为:5
转换为二进制为:0b101
转换为八进制为:0o5
转换为十六进制为:0x5
python3 test.py
输入数字:12
十进制数为:12
转换为二进制为:0b1100
转换为八进制为:0o14
转换为十六进制为:0xc
22.Python ASCII码与字符相互转换
# author by : www.runoob.com
# 用户输入字符
c = input("请输入一个字符: ")
# 用户输入ASCII码,并将输入的数字转为整型
a = int(input("请输入一个ASCII码: "))
print( c + " 的ASCII 码为", ord(c))
print( a , " 对应的字符为", chr(a))
执行以上代码输出结果为:
python3 test.py
请输入一个字符: a
请输入一个ASCII码: 101
a 的ASCII 码为 97
101 对应的字符为 ejs
23.Python 最大公约数算法
# Filename : test.py
# author by : www.runoob.com
# 定义一个函数
def hcf(x, y):
"""该函数返回两个数的最大公约数"""
# 获取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))
执行以上代码输出结果为:
输入第一个数字: 54
输入第二个数字: 24
54 和 24 的最大公约数为 6
24.Python 最小公倍数算法
# Filename : test.py
# author by : www.runoob.com
# 定义函数
def lcm(x, y):
# 获取最大的数
if x > y:
greater = x
else:
greater = y
while(True):
if((greater % x == 0) and (greater % y == 0)):
lcm = greater
break
greater += 1
return lcm
# 获取用户输入
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))
执行以上代码输出结果为:
输入第一个数字: 54
输入第二个数字: 24
54 和 24 的最小公倍数为 216
25.Python 简单计算器实现
# author by : www.runoob.com
# 定义函数
def add(x, y):
"""相加"""
return x + y
def subtract(x, y):
"""相减"""
return x - y
def multiply(x, y):
"""相乘"""
return x * y
def divide(x, y):
"""相除"""
return x / y
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
choice = input("输入你的选择(1/2/3/4):")
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
if choice == '1':
print(num1,"+",num2,"=", add(num1,num2))
elif choice == '2':
print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == '3':
print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
print(num1,"/",num2,"=", divide(num1,num2))
else:
print("非法输入")
执行以上代码输出结果为:
选择运算:
1、相加
2、相减
3、相乘
4、相除
输入你的选择(1/2/3/4):2
输入第一个数字: 5
输入第二个数字: 2
5 - 2 = 3
26.Python 生成日历
# Filename : test.py
# author by : www.runoob.com
# 引入日历模块
import calendar
# 输入指定年月
yy = int(input("输入年份: "))
mm = int(input("输入月份: "))
# 显示日历
print(calendar.month(yy,mm))
执行以上代码输出结果为:
输入年份: 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的学习资料大合集!其中包含学习工具,路线图,深度学习资料及大厂资料等!有需要的小伙伴可以关注 “公众号taskctl” 在公众号后台回复关键词 “领取” 即可获得获取链接!
整理不易!希望大家多多点赞转发!分享给更多喜欢python的小伙伴们!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)