zoukankan      html  css  js  c++  java
  • 【Python笔记】2020年7月22日练习=[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解]

    学习教程:廖雪峰-Python教程-函数-函数定义

    学习记录:[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解]

    学习心得:

    1、对问题进行判断分析后再下手。

    一元二次方程需分析根的情况,当△大于零时,有两个根;当△等于零时,有一个根;当△小于零时,无解。

    需三种情况进行判断,再进行计算,再打印输出结果。

    2、在原题基础之上我增加的问题

    ①用户输入a,b,c三个值,更加人性化

    ②对返回的根进行判断,判断根为整数(int)还是浮点数(float)。若为整数则直接返回打印输出,若为浮点数则强制保留2位小数点。

    3、额外吸收内容

    ①bool类型可直接用 int() 强制转换为0和1

    1 a = 1/3
    2 Tex = int(isinstance(a, float))

    以上打印结果为 1。

    isinstance() 是Python内置的数据类型检查函数

    ②round() 函数:返回浮点数x的四舍五入值

    a = 1/3
    print(round(a, 2))

    以上打印结果为 0.33

    以下是我的练习代码:

     1 # 定义一个函数quadratic(a, b, c),接收3个参数
     2 # 返回一元二次方程 ax^2 + bx +c = 0 的两个解
     3 import math
     4 
     5 # 求根函数
     6 def quadratic(a, b, c):
     7         # 求△
     8         det = b**2-4*a*c
     9         # 判断△ 大于零
    10         if det > 0:
    11             x1 = (-b+math.sqrt(det))/(2*a)
    12             x2 = (-b-math.sqrt(det))/(2*a)
    13             return x1, x2
    14         # 判断△ 等于零 只有一个解
    15         elif det == 0:
    16             x1 = x2 = (-b+math.sqrt(det)) / (2*a)
    17             return x1, x2
    18         # 判断△ 小于零 无解
    19         else:
    20             print('测试失败!')
    21 
    22 # 判断根的数据类型,为int还是float,若为float则保留2位小数
    23 def q_float(nx):
    24     Tex = int(isinstance(nx, float))
    25     if Tex == 1:
    26         return round(nx, 2)
    27     else:
    28         return int(nx)
    29 
    30 # 输入abc
    31 a = int(input("请输入第一个数:"))
    32 b = int(input("请输入第二个数:"))
    33 c = int(input("请输入第三个数:"))
    34 
    35 # 接收根的值
    36 nx1, nx2 = quadratic(a, b, c)
    37 
    38 # 调用函数,直接打印输出
    39 print("Quadratic(a, b, c)=", q_float(nx1), q_float(nx2))
  • 相关阅读:
    tornado用户指引(三)------tornado协程使用和原理(二)
    利用tornado使请求实现异步非阻塞
    在tornado中使用异步mysql操作
    Tornado 线程池应用
    Tornado异步与延迟任务
    tornado用户指引(二)------------tornado协程实现原理和使用(一)
    Tornado用户指引(一)-----------异步和非阻塞I/O
    Tornado异步之-协程与回调
    Python核心框架tornado的异步协程的2种方式
    c++ Map使用
  • 原文地址:https://www.cnblogs.com/Jelar/p/13363919.html
Copyright © 2011-2022 走看看