精华内容
下载资源
问答
  • 浮点数相等一直是个老生常谈的话题。今天我们借助python math模块中的isclose函数说明一下这个问题。 isclose(a, b, *, rel_to...(1)rel_tol :使用科学计数法表示的a, b两数允许的最大差异。例如当rel_tol=1e-02,即

    浮点数相等一直是个老生常谈的话题。今天我们借助python math模块中的isclose函数说明一下这个问题。

    isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
        Determine whether two floating point numbers are close in value
    

    python官方在文档中给出了如上说明,解释一下参数的含义:
    (1)rel_tol :使用科学计数法表示的a, b两数允许的最大差异。例如当rel_tol=1e-02,即表示当a与b两数的差异小于0.1时,即认为是相等的,具体看下面例子。

    >>> import math
    >>> a = 5.0
    >>> b = 4.99
    
    # a - b < 0.1,所以返回true
    >>> math.isclose(a, b, rel_tol=1e-2)
    True
    
    # |b - a| < 0.1,也是可以的
    >>> math.isclose(b, a, rel_tol=1e-2)
    True
    
    # |b-a| > 0.01,结果就是false了
    >>> math.isclose(b, a, rel_tol=1e-3)
    False
    

    (2)abs_tol,该参数表示绝对差,当指定了它之后,还可以实现更为精确的比较。

    >>> a=4.953
    >>> b=4.951
    # 由于a - b >= 0.002,所以结果为false
    >>> math.isclose(b, a, abs_tol=0.002)
    False
    
    # 由于a - b < 0.003,所以结果为true
    >>> math.isclose(b, a, abs_tol=0.003)
    True
    

    (3)如果同时指定了上述两个参数,则只要符合一个即可

    >>> a=4.953
    >>> b=4.951
    >>>> math.isclose(b, a,rel_tol=1e-3, abs_tol=0.002)
    True
    

    (4)除了浮点数,在整数之间的比较也是非常方便的。

    >>> a=1111
    >>> b=1120
    # 有时在比较比较大的数的时候,
    # 个位十位忽略掉都是可以的
    >>> math.isclose(b, a,abs_tol=10)
    True
    >>> math.isclose(b, a,abs_tol=5)
    False
    

    哈哈,以上就是python小工具今天的介绍,其实还是实用性很高的一个函数,尤其在大批量数据使用pandas时,优势还是非常明显的。有兴趣的话,可以关注:python小工具。一起学习python和pandas。
    在这里插入图片描述

    展开全文
  • 题目描述 判断一个整数是否是回文...个指针,一个从左往右遍历字符串,一个从右往左遍历,如果遇到个不相等的情况,则不为回文,直到个指针相等 代码实现 class Solution: def isPalindrome(self, x: int)

    题目描述

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    示例 1:

    输入: 121
    输出: true

    示例 2:

    输入: -121 输出: false

    LeetCode链接

    解题思路

    使用python解决非常简单

    • 首先将数组转为字符串
    • 两个指针,一个从左往右遍历字符串,一个从右往左遍历,如果遇到两个不相等的情况,则不为回文数,直到两个指针相等

    代码实现

    class Solution:
        def isPalindrome(self, x: int) -> bool:
            s=str(x)
            l,r=0,s.__len__()-1
            while(l<=r):
                if s[l]==s[r]:
                    l+=1
                    r-=1
                else:return False
            return True
    
    展开全文
  • 判断两个操作的值是否相等,如果相等则条件为真 如果 a=3 且 b=3,则(a == b)为 true != 判断两个操作的值是否相等,如果不相等则条件为真 如果 a=1且b=3,则(a != b)为 true <> 判断两个操作的值...

    判断、运算符、循环

    首次发布时间:2020/7/25
    最后修改时间:2020/7/25
    本系列文章基于 python3 版本

    摘要

    • 关系(比较)运算符号
    • 逻辑运算符
    • if、elif、else
    • while 循环
    • for 循环
    • 终止整个循环:break
    • 终止当次循环:continue
    • 总结

    关系(比较)运算符号

    运算符 描述 实例
    == 判断两个操作数的值是否相等,如果相等则条件为 如果 a=3b=3,则(a == b)true
    != 判断两个操作数的值是否相等,如果不相等则条件为 如果 a=1b=3,则(a != b)true
    <> 判断两个操作数的值是否相等,如果不相等则条件为 如果 a=1b=3,则(a <> b)true(这个类似于 != 运算符)
    > 判断左操作数的值是否大于右操作数的值,如果大于则条件为 如果 a=7b=3,则(a > b)true
    < 检查左操作数的值是否小于右操作数的值,如果小于则条件为 如果 a=7b=3,则(a < b)false
    >= 检查左操作数的值是否大于或等于右操作数的值,如果大于或等于则条件为 如果 a=3b=3,则(a >= b)true
    <= 检查左操作数的值是否小于或等于右操作数的值,如果小于或等于则条件为 如果 a=3b=3,则(a <= b)true

    逻辑运算符

    运算符号 描述 实例
    and “与” :如果 and 左右两边有一个条件为 false,则返回 false True and False,返回 False
    or “或” :如果 or 左右两边有一个或两条件都成立就返回 true,反之返回 false True or False,返回 True
    not “非” :如果条件 x 本身为 true,则返回 false,反之为 true not x(假设此时 x 为 true) 返回 false

    if、elif、else

    • if
    # encoding=utf-8
    
    a = 12  # apple
    m = 16  # money
    if m > a:  # 如果我带的钱大于苹果的单价,也就是 if 后面的条件成立
        print('我能买苹果吃')  # 我就买苹果吃
    
    • ifelse
    # encoding=utf-8
    
    w = 18  # watermelon
    m = 16  # money
    if m > w:  # 如果我带的钱大于西瓜的单价,也就是 if 后面的条件成立
        print('我能买西瓜吃')
    else:  # 不满足 if 的条件,则执行这一命令
        print('买不起西瓜')
    
    • ifelifelse
    # encoding=utf-8
    
    a = 12  # apple
    w = 18  # watermelon
    m = 16  # money
    if m > w:
        print('买得起西瓜')
    elif m > a:
        print('只买得起苹果')
    else:
        print('什么都买不起')
    

    当有多个条件时,可以用 elif 来增加判断条件,当然也可以使用逻辑运算【与、或、非】

    • 逻辑运算符(and、or、not)
    # encoding=utf-8
    
    a = 12  # apple
    w = 18  # watermelon
    m = 16  # money
    
    if m > a and m < w:
        print("只能买苹果")
    
    总结:
    if 要判断的条件:
        条件成立时,要执行的操作
    elif 要判断的条件:
        条件成立时,要执行的操作
    else 要判断的条件:
        当上面两个条件都不成立时,要执行的操作
    
    • 注意:
    • 代码的缩进一般是 4 个空格
    代码示例
    # encoding=utf-8
    import random  # python 的随机标准库
    
    p = input('请输入你的数字【1-5】:')
    p = int(p)
    c = random.randint(1, 5)  # 随机选择数字【1 到 5 之间】
    if p == c:
        print('点数相同,猜对了')
    elif p < c:
        print('猜测的数字偏小了')
    else:
        print('猜测的数字偏大了')
    

    循环

    while 循环
    • 上面代码的实例,运行一次就结束了
    • 如果我们想让它运行一定的次数,或者一直循环运行,就需要用到 while 循环
    格式:
    while 条件:  # 条件满足时,就执行下面的事件
        事件1
        事件2
        事件3
        ......
    
    那什么时候用到循环呢?
    • 一般碰到需要多次执行的代码,都可以用循环的方式来完成
    • 不是必须要使用循环,但为了提高代码的复用率,提高开发效率,一般都会用到循环
    通过 while 循环,使上面的例子循环运行
    # encoding=utf-8
    import random  # python 的随机标准库
    
    while True:  # 设置条件为 True,那么将无限循环下去,直到手动停止
        p = input('请输入你的数字【1-5】:')
        p = int(p)
        c = random.randint(1, 5)  # 随机选择数字【1 到 5 之间】
        if p == c:
            print('点数相同,猜对了')
        elif p < c:
            print('猜测的数字偏小了')
        else:
            print('猜测的数字偏大了')
    
    计算 1-100 的和(使用 while 循环)
    # encoding=utf-8
    
    a = 1
    sum = 0
    while a <= 100:
        sum += a
        a += 1;
    # 打印结果:
    # 第一种写法
    print('1-100的和是:%d' % sum)
    # 第二种写法
    print('1-100的和是:{}'.format(sum))
    
    计算 1-100 间偶数的和(使用 while 循环)
    # encoding=utf-8
    a = 1
    sum = 0
    while a <= 100:
        if a % 2 == 0
            sum += a
        a += 1
    # 打印结果
    # 第一种写法
    print('1-100 间偶数的和是:%d' % sum)
    # 第二种写法
    print('1-100 间偶数的和是:{}'.format(sum))
    
    while 的嵌套使用
    • 格式:
    while 条件1:  # 条件1满足时,就执行下面的事件
        事件1
        事件2
        事件3
    
        while 条件2:  # 条件2满足时,就执行下面的事件
            事件4
            事件5
            事件6
    
    实例
    • 打印出下面的三角形
    *
    **
    ***
    ****
    *****
    
    • 代码实现
    i = 0
    while i < 5:
        j = 0
        while j <= i:
            print('*', end = " ")
            j += 1
        i += 1
        print('')
    

    end = " " 的作用:
    print() 默认是打印一行结尾加换行
    end = ' ' 意思是末尾不换行加空格
    (这个只在 python3 里可以用)

    • 打印下面的乘法表
    1*1=1 
    
    1*2=2  2*2=4  
    
    1*3=3  2*3=6  3*3=9  
    
    1*4=4  2*4=8  3*4=12 4*4=16 
    
    1*5=5  2*5=10 3*5=15 4*5=20 5*5=25 
    
    1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
    
    1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
    
    1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
    
    1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
    
    • 代码实现
    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print('%d*%d=%-2d' % (j, i, i*j), end = " ")
            j += 1
        i += 1
        print('')
    

    这里用了一个小技巧,让输出的内容对齐,就是 %-2d
    %-2d 的作用是让输出的位数固定为 2
    并且 左对齐
    如果数据不足 2 位,就往右边 补空格

    思考一下下面这个如何实现
    *
    * *
    * * *
    * * * *
    * * * * *
    * * * *
    * * *
    * *
    *
    
    • 代码实现
    i = 0
    while i < 5:
        i += 1
        print('*' * i)
    while i > 0:
        i -= 1
        print('*' * i)
    

    for 循环

    for 循环和 while 循环一样可以完成循环的功能
    也可以遍历列表字符串

    • 格式:
    for 临时变量 in 列表或者字符串等
        满足条件时,执行代码
    
    • 示例:
    str = 'python'
    for i in str:
        print(i)
    
    • 输出结果:
    p
    y
    t
    h
    o
    n
    

    终止整个循环:break
    • 如果需要逐个字符打印 'python'
    • 假设需要打印到 o 的时候退出循环(不打印 o 及之后的字符),该怎么做?
    • 代码实现:
    str = 'python'
    for i in str:
        if i == 'o':
            print('轮到 o 了,退出循环')
            break
        else:
            print('目前打印 %s' % i)
    
    • 输出结果:
    目前打印 p
    目前打印 y
    目前打印 t
    目前打印 h
    轮到 o 了,退出循环
    
    • while 循环的 break 例子:
    i = 0
    while i < 10:
        i += 1
        print('-----')
        if i == 5:
            break
        print(i)
    
    • 输出结果:
    -----
    1
    -----
    2
    -----
    3
    -----
    4
    -----
    
    小结:
    • 无论是对于 while 或是 for 循环,break 的作用就是结束整个循环
    • 只要执行到 break,那么循环中无论还有什么内容,都不再执行,全部出循环

    终止当次循环:continue
    • for 循环的例子:
    • 示例:
    str = 'python'
    for i in str:
        if i == 'o':
            print('轮到 o 了,跳出本轮循环\n')
            continue
        else:
            print('目前打印 %s' % i)
    
        print('本轮循环的结尾')
    
    • 输出结果:
    目前打印 p
    本轮循环的结尾
    目前打印 y
    本轮循环的结尾
    目前打印 t
    本轮循环的结尾
    目前打印 h
    本轮循环的结尾
    轮到 o 了,跳出本次循环
    
    目前打印 n
    本轮循环的结尾
    
    • while 循环的例子:
    • 示例:
    i = 0
    
    while i < 5:
        i += 1
        if i == 3:
            continue
        print(i)
    
    • 输出结果:
    1
    2
    4
    5
    

    可以看到,break 就是跳出当此循环
    对下一轮不会有任何影响

    注意
    • break/continue 只能用在循环中,不能单独使用
    • break/continue嵌套循环中,只对最近的一层循环起作用

    总结

    • if 往往用来判断条件是否满足

    • if 的 4 种基本用法:

      • 基本方法:
      if 条件:
          条件满足时,执行命令
      
      • 满足与否执行不同的事情
      if 条件:
          if 条件满足时,执行命令
      else:
          if 条件不满足时,执行命令
      
      • 多个条件的判断
      if 条件:
         条件1 满足时,执行命令
      elif 条件2:
         条件2 满足时,执行命令
      elif 条件3:
         条件3 满足时,执行命令
      else:
         上述条件都不满足时,执行命令
      
      • 嵌套
      if 条件1:
          条件1 满足时,执行命令
        if 条件2:
            条件2 满足时,执行命令
            这里还可以放入其他任何形式的 if 判断语句
      
    • while 循环一般通过数值是否满足条件来确定是否进入循环

    i = 0
    while i < 3:
        print("hello")
        i += 1
    
    • 输出结果:
    hello
    hello
    hello
    
    • for 循环一般是对能保存多个数据的变量,进行遍历(像前面说过的字符串列表等)
    str = 'python'
      
    for i in str:
        print(i)
    
    • 输出结果:
    p
    y
    t
    h
    o
    n
    
    展开全文
  • 直到数相等。这种思路,略显笨重。有一定数学素养的同学就会想到取对数。取以b为底a的对数。判断这个数是否是整数。如果这个数是整数。则说明a是b的整数次幂。python语言代码实现:import math def cloth_cover...

    判断一个数是不是另一个数的整数次幂。

    分析:判断一个数是不是另一个数的整数次幂。例如:有a,b两个数。判断a是不是b的整数次幂。通常想法,一直除。直到两个数相等。这种思路,略显笨重。有一定数学素养的同学就会想到取对数。取以b为底a的对数。判断这个数是否是整数。如果这个数是整数。则说明a是b的整数次幂。python语言代码实现:

    import math
    def cloth_cover(num, backgroud):
        lognum = math.log(num, backgroud)
        int_part = math.floor(lognum)
        if lognum - int_part == 0:
            print("%d是%d的%d次幂" % (num, lognum, int_part))
        else:
            print('%d不是%d整数次幂' % (num, backgroud))
    

    总结:利用python内置的math模块,计算比较方便。

    展开全文
  • 计算机里面的数字是由二进制保存的,在计算机内部有些数字不能准确...因此比较个float是否相等,不能仅仅依靠==来判断,而是当他们的两者的差值小于一个我们可以容忍的小值时,就可以认为它们相等。 如: return ...
  • Determine whether an integer is a palindrome....本人提供的答案是,设置个指针,分别指向头部和尾部,对比对应的是否相等,直到指针指向中间位置,结束。class Solution(object): def isPalin...
  • # python 使用input...2、判断x与y是否相等相等则输出“两数相同” 3、如果x大于y,则输出x,反之输出y """ x = int(input("请输入第一个参数:")) y = int(input("请输入第二个参数:")) if( x == y): print(...
  • 1、根据是否与自身相等判断是否为nan: nan是一个代表“不是一个数字”的变量,不代表某一具体值,因此变量nan!=nan,可根据此属性判断某一值是否为nan。 构建一个含有nan的DataFrame: import numpy as np import ...
  • 该方法是将数字先转换成字符串,然后根据字符串的长度从开始至中位字符止进行遍历,判断以中位字符为对称的首末方向个字符是否相等,有任何一对字符不相等极为非回,代码如下: # 定义 def is_palindrome(n): ...
  • 数据结构之判断栈的弹出序列是否合法:输入个整数序列,第一个序列表示栈的压入序列,请判断第二个序列是否为该栈的弹出序列,假设压入栈的所有数字均不相等。例如:入栈序列,1 2 3 4 5,判断4 5 3 2 1以及4 3 5 ...
  • PYthon数字运算符

    2020-06-18 14:27:30
    python运算符和c语言运算符比较,我只把不同的写出来) 1、算术运算符 ①幂运算** ②取整除// 2、比较运算符 ...is和==的区别:is用于判断两个变量应用对象是否为同一个,==用于判断引用变量的值是否相等 ...
  • 像tensorflow和numpy对数组进行操作就可以完成该目标,以tensorflow为例,一个向量a 和向量a2,判断个数组内对应元素相等且等于1(也可以是别的数字,这里以1为例,因为1可以为True的整数形式,因此该特例...
  • 题目:输入棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 1、HasSubtree使用递归遍历A树,在A中查找与B根节点值一样的节点R,若根节点不等,则向左子树、右子树找...
  • 我们可以把判断表达式可以分为个阵营: 对空列表的显式比较 对空列表的隐式求值 这意味着什么? 显式比较 我们从显式比较开始说起,无论我们使用列表符号 [] 还是声明空列表的函数 list() ,遵循的策略是查看待...
  • 明确语句if 条件:条件成立执行elif 条件2:条件2成立执行...else:上述条件都不成立执行注意事项缩进!缩进!!缩进!!!编码#源代码 num1=int(input('请输入第一个:')) ...print('{}和{}相等。'.form...
  • #判断什么是判断:如果某些条件满足,才能做某件事情;条件不满足时,则不能做,这...#比较,运算符== 检查个操作的值是否相等,如果是则条件变为真。 如a=3,b=3,则(a == b) 为 True!= 检查个操作的值是...
  • 如果一个正整数的所有因子(包括1,不包括它本身)之和与该数相等,则称这个数为完数。编写一个函数isWs(n)判断传入的正整数是否是完数,若返回True则是完数,若返回False则不是完数。 思路 写个双层循环,判断因子...
  • 为什么浮点数不能直接比...因此我们在比较个float是否相等时,不能仅仅依靠 == 来进行判断,而是当他们两者的差小于一个我们可以容忍的小值时,就可以认为他们就是相等的。 那么Python是如何解决的呢? 第一种方法:
  • 题目:判断输入的整数是否回文...本文的思路是 :把数字进行分割,然后再逆转数字的顺序,然后再前后个列表数据比较是否相等。 难点:如何快速分割数字。本难点的解决方法参照了:https://blog.csdn.net/zhuochu...
  • 这里我的思路是把这个端遍历,判断其是否相等,若有一位不相等,则这个就不是回文。 我这里用的是Python,由于Python的input()的返回值类型为str,所以我直接对字符串进行操作。 num=input('Input number...
  • 目录题目描述题目大意解题方法判断排序后是否相等统计字符出现次数日期 题目地址:https://leetcode-cn.com/problems/make-two-arrays-equal-by-reversing-sub-arrays/ 题目描述 给你个长度相同的整数组 target ...
  • 本文利用的是Python 3.x版本,建议学习3.x版本 Python中的分支判断、循环 1. 分支条件判断 ...如何比较,根据之间的符号判断即可。这里要注意的是!=是不相等的意思,==是相等的意思。例如5==3...
  • 输入个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但...
  • 解题思路:遍历nums数组,对于取出的数组中的一个整数,依次使其与其后的相加,并判断是否等于目标值target,若相等则将这的下标返回,结束循环;否则,进行下一次循环。 代码实现: ...
  • 1.if判断语句 作用:控制代码是否被python 执行 格式:# 01:判断条件 # 02: if 判断条件: #03: 条件成立时,执行的代码 ...2.比较(即关系,条件运算符)...检查个操作的值是否相等,如果值不相等,则条件...
  • 要求: 随机生成一个数字(1-10),输入某个数字,然后比较个数值的大小。 如果输入的数字比随机生成的数字小,则提示:... 如果个数字相等,则提示:恭喜你猜对了 import random num = random.randint(1...
  • 一print('~第一天学习~')temp = input("请猜测一个数字:")guess = int(temp)if guess == 8:print("你是我心里的蛔虫嘛")print("猜中了也没有奖励!...=:一个等号是赋值==:个等号是判断是否相等 BIF == Built...
  • Python if语句

    2020-12-21 14:42:42
    Python Day 4 2020-4-9 Python if语句 ...要判断两个值是否不等,可结合使用惊叹号和等号(!=) 4.比较数字 条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于等 >>> age = 18 >>> age == 18

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 223
精华内容 89
关键字:

python判断两数相等

python 订阅