🚀 作者 :“码上有前”
🚀 文章简介 :Python
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬
Python练习实例
往期精彩内容
【Python基础练习100题–第一篇:基础篇】
【Python基础练习100题–第二篇:文件篇】
【Python每日十题菜鸟版–第一天】
【Python每日十题菜鸟版–第二天】
【Python每日十题菜鸟版–第三天】
【Python每日十题菜鸟版–第四天】
【Python每日十题菜鸟版–第五天】
【Python每日十题菜鸟版–第六天】
🍉前言
这些题都是在菜鸟官网上的练习题,
对于刚学python的新手来说十分的适合,
可以加强和巩固我们的基础。
嘿嘿 一起噶油吧!
1. 两数之和
value1 = input("请输入第一个数字:")
value2 = input("请输入第二个数字:")
print(type(value1)) # string
print(int(value1)+int(value2))
2.求一个数的平方根
方法一:使用幂乘**运算符
# 输入规整的数字
while True:
try:
x = int(input("请输入一个数字: "))
break
except (ValueError, TypeError):
print("您输入的不是数字,请再次尝试输入!")
def num_of_sprt(num):
num_sqrt_float = (float(num) ** 0.5)
# 控制精度,保留三位小数
print(' %0.3f 的平方根为 %0.3f' % (float(num), num_sqrt_float))
return num_sqrt_float
print(num_of_sprt(x))
方法二:使用math模块中的sqrt()函数
# camth模块比math增加了关于复数,开平方根用复数表示
import cmath
import math
num_sqrt = cmath.sqrt(x)
print(type(num_sqrt)) # <class 'complex'> 复数
print(f'{x} 的平方根为 {num_sqrt}')
# 相同的有一个类似的方法isqrt()
# 该方法的作用是对参数x开平方根并向下取整
num_isqrt = math.isqrt(x)
print(type(num_isqrt)) # <class 'complex'> 负数
print(f'{x} 的平方根为 {num_isqrt}')
3.求解一元二次方程
import cmath
while True:
try:
# 防范可以通过一个input来传入多个参数
# 然后使用splic()方法剪切出三个参数并赋值为a,b,c
a = float(input("请输入数字a:"))
b = float(input("请输入数字b:"))
c = float(input("请输入数字c:"))
if a == 0 and b == 0 and c == 0:
print("有无穷个解")
break
except ValueError:
print("输入的内容不对,请输入一个数字")
d = (b**2)-(4*a*c)
# 求解
sol1 = (-b-cmath.sqrt(d)) / (2*a)
sol2 = (-b+cmath.sqrt(d)) / (2*a)
print(f'结果为{sol1}和{sol2}')
# 对于规格化有三种方式
# 还可以使用另外一种方式
# print('结果为{0}和{1}'.format(sol1, sol2))
# 如果要精细化的控制浮点数的位数和精确度
# 还可以使用另外一种方法 用%隔开的那种
4.计算三角形的周长和面积
while True:
try:
# 也可以使用单个input的方式
# 不过下面这种方法更加的优雅
a, b, c = input('请输入合法的三角形的三条边:').split(' ')
a = float(a)
b = float(b)
c = float(c)
except ValueError:
print("请输入数字,而不是字符")
finally:
# 判断是否是三角形
if a+b > c and a+c > b and b+c > a:
print('输入的边合法')
break
# 计算周长
l = a + b + c
# 计算面积,使用万能公式
area = (l*(l-a)*(l-b)*(l-c)) ** 0.5
print(f"三角形的周长是{l},三角形的面积是{area}")
5.计算圆的面积
import math
while True:
try:
r = input("请输入圆的半径")
r = float(r)
break
except ValueError:
print("请输入数字")
#使用 % 规定前后数据的精确度
# 即这是第三种格式化数据的方法
# 同理 这里也可以使用math中的power方法
# print("圆的面积为: %.6f" % (math.pi * math.power(x,2))
print("圆的面积为: %.6f" % (math.pi * r * r))
6.生成随机数
import math
import random
ran_num = random.random()
ran_num_round = round(ran_num * 10)
ran_num_ceil = math.ceil(ran_num * 10)
ran_num_floor = math.floor(ran_num * 10)
print("生成的随机数为:", ran_num)
print("生成的随机数十倍后四舍五入为:", ran_num_round)
print("生成的随机数向上取整为:", ran_num_ceil)
print("生成的随机数向下取整为:", ran_num_floor)
# 生成一个介于(a,b)之间的随机数
ran_num1 = random.randint(1, 10)
print("生成的介于两数之间的随机数为:", ran_num1)
# 使用random.send() 方法使用相同的种子生成相同的随机数
# 使用randrange()方法可以生成在指定范围内随机数
# 有三个参数 分别是start 和end 和step 。其中end是必须的
# step用于指定步长
# 从 range(start, stop, step) 返回一个随机选择的元素。
# 实例:生成0-100之间的奇数随机数(设置步长为2)
print(random.randrange(1, 100, 2))
# 关于random模块还有shuffle()方法-
# 用于打乱list 用于生成随机列表
list = [1, 12, 23, 34, 45]
# 当调用这个方法后,被传入的参数就已经被打乱,不会有返回值
list_shuffled = random.shuffle(list)
print(f"被打乱之后的列表{list_shuffled}") # None
print(f"被打乱之后的列表{list}") # [34, 23, 12, 45, 1]
# 注意: random.shuffle 具有破坏性,需要每次都重置列表。
# 该模块在统计学,概率论中有很大的应用性
7.华氏度摄氏度转换
# 可以使用循环规定输入指定类型的内容
celsius = float(input('输入摄氏温度: '))
# 计算华氏温度
fahrenheit = (celsius * 1.8) + 32
# 注意这种写法 %0.1f %0.1f 中间用 % 后面写要格式化精度的值,写在括号李里()
print('%0.1f 摄氏温度转为华氏温度为 %0.1f ' % (celsius, fahrenheit))
# 华氏摄氏度转化成摄氏度先减18 再除以1.8
8.交换变量
方法一 :temp变量(不优雅)
x = input('输入 x 值: ')
y = input('输入 y 值: ')
# 方法一:使用temp进行暂存
temp = x
x = y
y =temp
print(f"交换之后x的值为{x},y为{y}")
方法二:拆包解包(优雅 推荐)
# 交换变量
x = input('输入 x 值: ')
y = input('输入 y 值: ')
# 方法二:直接交换赋值 ,有点像js里面的解构赋值
x, y = y, x
print(f"交换之后x的值为{x},y为{y}")
方法三:使用列表+拆包解包
x = input('输入 x 值: ')
y = input('输入 y 值: ')
# 使用列表 + 拆包解包
[x, y] = [y, x]
print(f"交换之后x的值为{x},y为{y}")
方法四:使用元组+拆包解包
# 方法四:使用元组
x = input('输入 x 值: ')
y = input('输入 y 值: ')
(x, y) = (y, x)
print(type(())) # 元组
print(f"交换之后x的值为{x},y为{y}")
方法五:加减交替法
# 方法五:加减法换元法
x = input('输入 x 值: ')
y = input('输入 y 值: ')
x = x + y
y = x - y
x = x - y
print(f"交换之后x的值为{x},y为{y}")
方法六:乘除交替法
# 留给大家思考思考 嘿嘿
方法七:位运算法
# 方法七:位运算
x = input('输入 x 值: ')
y = input('输入 y 值: ')
x = x ^ y
y = x ^ y
x = x ^ y
print(f"交换之后x的值为{x},y为{y}")
9.if…else…elif
# if ...elif...else
num = float(input("输入一个数字: "))
if num > 0:
print("正数")
elif num == 0:
print("零")
else:
print("负数")
10.判断输入内容是否是只由数字组成
# 通过创建自定义函数 is_number() 方法来判断字符串是否为数字
def is_number(n):
try:
float(n)
return True
except ValueError:
print(f"{n}不是数字", end="")
try:
# 别的国家的语言
import unicodedata
unicodedata.numeric(n)
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
# 还可以用这个方法isdigit()来检查是否是由数字构成
str = '1223'
str = str.isdigit()
print("该字符串str是不是只由数字组成", str)
# 此外math有很多属性和函数
# 除了提供了许多数学常用的常数 e pi Nan inf tau
# 还有三角函数 反三角函数 平方 开方 指数幂 以x对底的对数 绝对值 取模 取余 阶乘 两数最大公约数 数字向上向下 截取
# 还有判断数字是否是无限大 是否接近 是否是NaN等
🍉 学无止境,都看到这了,点个赞关注支持一下呗!嘿嘿(* ̄︶ ̄)