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.3214.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.52.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:.2fx2:.2f') 

执行结果:

输入 a: > 1
输入 b: > -10
输入 c: > 24
方程式1.00x^2+(-10.00x)+(24.00)中x值为6.004.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:.2fb:.2fc:.2f的三角形面积为s:.2f')

执行结果:

输入 a: 3
输入 b: 4
输入 c: 5
边长为3.004.005.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个实例多个例子相互参考

Python初级练习小实例(21-50例),1个实例多个例子相互参考

Python入门练手100例

python小实例

day07

Python 练习实例1