Python初级练习小实例(1-20例),1个实例多个例子相互参考
Posted the丶only
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python初级练习小实例(1-20例),1个实例多个例子相互参考相关的知识,希望对你有一定的参考价值。
以下所有测试实例来自于菜鸟教程:https://www.runoob.com/python3/python3-examples.html
1:Python 数字求和
自己的代码
#用户输入数字,并转换为浮点型(float)
a = float(input('请输入数字1:'))
b = float(input('请数入数字2:'))
#数字求和
sum = a+b
# 显示计算结果
print('0和1的和为2'.format(a,b,sum))
执行结果:
请输入数字1: > 8.321
请输入数字2: > 4.2312
8.321和4.2312的和为12.5522
菜鸟教程参考代码
# 用户输入数字
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
或者直接一行代码执行
print('两数之和为 %.1f' %(float(input('输入第一个数字:'))+float(input('输入第二个数字:'))))
%.1f 指的输出保留一位小数的浮点数。
%f 表示其输出格式为浮点数。
其他人参考笔记
写了一个报错重新输入的处理
while 1:
x=input("请输入数字x的值")
y=input("请输入数字y的值")
try:
sum=float(x)+float(y)
except:
print("输入的数字格式不正确,请重新输入")
continue
else:
print(f"两个数字之和为sum:.2f")
break
print(f" ")
格式化的字符串文字前缀为 f ,和接受的格式字符串相似str.format(),
以 f 开头,包含的 表达式在程序运行时会被表达式的值代替。
列子:
w = 2
print('%.2f' %w)
print(f'w = w:.2f')
#执行结果:
2:00
w = 2.00
2:Python 平方根
自己的代码
num = float(input("请输入数字"))
a = num ** 0.5
print(f'%.2f的平方根为a:.2f'%num)
执行结果:
请输入数字 78
78.00的平方根为8.83
菜鸟教程参考代码
代码1
num = float(input('请输入一个数字: '))
num_sqrt = num ** 0.5
print(' %0.3f 的平方根为 %0.3f'%(num ,num_sqrt))
执行结果:
请输入一个数字: 4
4.000 的平方根为 2.000
代码2
# 计算实数和复数平方根
# 导入复数数学模块
import cmath
num = int(input("请输入一个数字: "))
num_sqrt = cmath.sqrt(num)
print('0 的平方根为 1:0.3f+2:0.3fj'.format(num ,num_sqrt.real,num_sqrt.imag))
执行结果:
请输入一个数字: -8
-8 的平方根为 0.000+2.828j
cmath.sqrt(x) x的开方,以上支持 负数 和 复数 的平方根。
注:可能版本原因,本人3.8版本,菜鸟教程需要用到cmath.sqrt模块支持负数和复数,但是我测试取幂的方式num ** 0.5,同样支持负数 和 复数 的平方根运算。
3:Python 二次方程
主要根据公式法求解,上过初中的公式。
二次方程求根公式法:Δ=b^2-4ac,x=[-b±(b^2-4ac)^(1/2)]/2a。
自己的代码
a = float(input('输入 a: '))
b = float(input('输入 b: '))
c = float(input('输入 c: '))
d = b**2-4*a*c
x = (-b+d**0.5)/(2*a)
x2 = (-b-d**0.5)/(2*a)
print(f'方程式a:.2fx^2+(b:.2fx)+(c:.2f)中x值为x:.2f和x2:.2f')
执行结果:
输入 a: > 1
输入 b: > -10
输入 c: > 24
方程式1.00x^2+(-10.00x)+(24.00)中x值为6.00和4.00
菜鸟教程参考代码
# 二次方程式 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))
执行结果:
输入 a: 1
输入 b: 5
输入 c: 6
结果为 (-3+0j) 和 (-2+0j)
菜鸟教程同上面例子一样,用到cmath.sqrt模块支持负数和复数,我用取幂的方式num ** 0.5,同样支持负数 和 复数。
4:Python 计算三角形的面积
三角形面积公式有很多,这里简单的就用到海伦-秦九韶公式:
设三角形ABC三个角A、B、C的对边分别为a、b、c,三角形ABC的面积为S,则S=“p(p-a)(p-b)(p-c)的算术平方根”。其中p等于三角形周长的一半。即p=(1/2)x(a+b+c)。
自己的代码
a = float(input('输入 a: '))
b = float(input('输入 b: '))
c = float(input('输入 c: '))
p=(a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
print(f'边长为a:.2f,b:.2f,c:.2f的三角形面积为s:.2f')
执行结果:
输入 a: 3
输入 b: 4
输入 c: 5
边长为3.00,4.00,5.00的三角形面积为6.00
菜鸟教程参考代码
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)
执行结果:
输入三角形第一边长: 5
输入三角形第二边长: 6
输入三角形第三边长: 7
三角形面积为 14.70
其他人参考笔记
a = float (input ('输入三角形第一边长:'))
b = float (input ('输入三角形第二边长:'))
c = float (input ('输入三角形第三边长:'))
while a+b<c or a+c<b or b+c<a:
print ('输入的边构不成三角形,请重新输入!')
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)
加了三角形判断
5:Python 计算圆的面积
圆的公式:S=π r^2
自己的代码
pi = 3.14
a = float (input ('输入圆的半径r:'))
s=pi*a**2
print(f'圆面积为:s:.2f')
执行结果:
输入圆的半径r: 3
圆面积为:78.50
菜鸟教程参考代码
用到了定义方法
#定义一个方法来计算圆的面积
def findArea(r):
PI = 3.142
return PI * (r*r)
#调用方法
print("圆的面积为 %.6f" % findArea(5))
执行结果:
圆的面积为 78.550000
其他人参考笔记
创建函数,可重复输入且非数字不会中
#计算圆的面积
import math
def cirarea():
r=0
while r <=0:
print('请输入大于0的数字!')
try:
r=float(input('您所要求的圆的半径是:'))
except:
print('输入错误,请输入数字!')
else:
p=math.pi
square=p*r**2
print('您所求的圆的面积为:%.4f'%square)
cirarea()
6:Python 随机数生成
自己的代码
根据输入的位数,生成随机数
import random
def random(length):
min = 10**(length-1)
max = 10**length -1
return random.randint(min,max)
length = int(input("请输入随机的位数:"))
print(random(length))
执行结果:
请输入随机的位数: > 5
14771
菜鸟教程参考代码
# 导入 random(随机数) 模块
import random
print(random.randint(0,9))
执行以上代码输出结果为:
4
以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(0 到 9),该函数的语法为:
random.randint(a,b)
函数返回数字 N ,N 为 a 到 b 之间的数字(a <= N <= b),包含 a 和 b。
其他人参考笔记
random() 函数中常见的函数如下:
import random
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
a=[1,3,5,6,7] # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)
Python 生成随机数、随机字符串
import random
import string
# 随机整数:
print random.randint(1,50)
# 随机选取0到100间的偶数:
print random.randrange(0, 101, 2)
# 随机浮点数:
print random.random()
print random.uniform(1, 10)
# 随机字符:
print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')
# 多个字符中生成指定数量的随机字符:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5)
# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print ran_str
# 多个字符中选取指定数量的字符组成新字符串:
print ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5))
# 随机选取字符串:
print random.choice(['剪刀', '石头', '布'])
# 打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print random.shuffle(items)
7:Python 摄氏温度转华氏温度
首先了解换算公式:
华氏度(℉)=32+摄氏度(℃)×1.8,
摄氏度(℃)=(华氏度(℉)-32)÷1.8。
自己的代码
a = int(input("请选择需要输入的温度,1:摄氏度。2:华氏度"))
def she(tem):
hua = 32 + tme * 1.8
return hua
def hua(tem):
she = (tem-32) / 1.8
return she
if a == 1:
tem = float(input("请输入摄氏温度:"))
b = she(tem)
print(f'tem:f摄氏度,为b:.4f华氏度')
elif a == 2:
tem = float(input("请输入华氏温度:"))
b = hua(tem)
print(f'tem:f华氏度,为b:.4f摄氏度')
else:
print("请输入正确的值1或者2")
执行结果:
请选择需要输入的温度,1:摄氏度。2:华氏度 > 1
请输入摄氏温度: > 38
38.00摄氏度,为100.40华氏度
菜鸟教程参考代码
# 用户输入摄氏温度
# 接收用户输入
celsius = float(input('输入摄氏温度: '))
# 计算华氏温度
fahrenheit = (celsius * 1.8) + 32
print('%0.1f 摄氏温度转为华氏温度为 %0.1f ' %(celsius,fahrenheit))
执行以上代码输出结果为:
输入摄氏温度: 38
38.0 摄氏温度转为华氏温度为 100.4
其他人参考笔记
a = input("请输入带有符号的温度值: ")
if a[-1] in ['F','f']:
C = (eval(a[0:-1]) - 32)/1.8
print("转换后的温度是:.1fC".format(C))
elif a[-1] in ['C','c']:
F = 1.8*eval(a[0:-1]) + 32
Python初级练习小实例(21-50例),1个实例多个例子相互参考