【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等

🍉 学无止境,都看到这了,点个赞关注支持一下呗!嘿嘿(* ̄︶ ̄)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上有前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值