TypeError: unorderable types: str() > int()

#! /usr/bin/env python
# -*- coding: utf-8 -*-

def absolute(x):
    if x>0:
        return x
    else:
        return -x

print('Please enter a num:')
num = input()
print(absolute(num))

  • 运行以上代码,报错信息如下:

    Traceback (most recent call last):
    File “5_func.py”, line 12, in
    print(absolute(num))
    File “5_func.py”, line 5, in absolute
    if x>0:
    TypeError: unorderable types: str() > int()

  • 报错原因:
    python3里面input默认接收到的是str类型,返回str类型

  • 解决:
    将input返回值进行强制转换,如下

    num = int(input())

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TypeError: bases must be types 是一种Python编程错误,通常是因为在使用类继承时,基类的类型不正确所引起的。在Python中,类是通过继承来实现代码重用和扩展的,一个类可以从多个基类继承。当创建一个类时,需要一个类名和一个包含基类的元组,如果基类的类型不正确,则会报TypeError: bases must be types错误。 造成这种TypeError错误的原因可能有很多,其中一些最常见的原因包括: 1. 基类不是一个类型对象。在Python中,基类必须是一个类型对象,例如strint或自定义的类。 2. 基类列表中包含了不止一个元素,但没有将它们放在括号中。在Python中,当使用多个基类来继承时,必须将它们放在括号中。 3. 基类不存在或未被正确导入。在Python中,如果在定义基类的类之前未定义基类,则会引发此TypeError: bases must be types错误。 要解决TypeError: bases must be types错误,可以尝试以下方法: 1. 确认基类是一个类型对象,并尝试修复错误的基类。例如,如果基类不是一个类型对象,则可能需要重命名或创建一个新的类来作为基类。 2. 确保基类列表中的元素都被放在括号中。例如,如果语法类似于class MyClass BaseClass1, BaseClass2,则需要将其更改为class MyClass(BaseClass1, BaseClass2)。 3. 检查基类是否已正确导入并定义。如果未定义基类,则需要将其定义到文件中。 总之,在Python编程中,TypeError: bases must be types 是一种常见的错误,因此开发人员需要仔细检查其代码,以确保使用正确的基类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值