1.问题描述

 age=input('please enter your age')
if age >=18:
print('your age is',age)
print('adult')
elif age>=6:
print('teenager')
else:
print('kid')

今天在运行该代码的时候,python解释器报错,错误信息如下:

F:\python>python3 elif.py
please enter your age5
Traceback (most recent call last):
  File "elif.py", line 2, in <module>
    if age >=18:
TypeError: unorderable types: str() >= int()

解释一下错误信息:
1.Traceback指追踪,即python的解释器使用Traceback追踪异常,出现Traceback说明你的程序出错了;
2.接下来的一行表明文件名,位置;
3.再接下来显示出错语句;
4.最后一行显示错误的原因。

unorderable types: str() > int()指类型不匹配,即age变量与18的类型不匹配。可是,我输入的age是整数,为什么会出现这种情况呢?

原因是,在python3中,input函数返回的是字符串,即你输入字符串,他就输出字符串,你输入数字,他还是输出字符串,那么在执行接下来的操作时就可能出现类型不匹配的情况。

所以出现了字符串与数字比较的情况。

2.解决方法

既然input函数的返回值是字符串,我们不妨将字符串强制性转化成整型,这样就不会出现类型不匹配的情况了。

正确代码如下:

 age=int(input('please enter your age'))
if age >=18:
print('your age is',age)
print('adult')
elif age>=6:
print('teenager')
else:
print('kid')

运行结果:

F:\python>python3 elif.py
please enter your age25
your age is 25
adult

TypeError: unorderable types: str() >= int()的更多相关文章

  1. python str + int

    TypeError: cannot concatenate 'str' and 'int' objects 1. print 'Is your secret number " + str(p ...

  2. 1.TypeError: must be str, not bytes

    1.TypeError: must be str, not bytes错误: 解答: 写文件处 open(filename, 'w').write 应该写为 open(filename, 'wb'). ...

  3. 二进制与十进制的转化,bool str int 之间的转化,str的常用操作,

    1.基础数据类型总览(7种) int: 整型,用于进行+-*/运算 str: 存储少量的数据;可加str,可乘数字,可切片,可进行9种常用操作 bool: True False 判断真假 list: ...

  4. 宝塔面板修改用户名和密码报错:TypeError: cannot concatenate 'str' and 'NoneType' objects

    [root@dapao~]# bt 14 正在执行(14)... ================================================================== ...

  5. python TypeError: must be str, not bytes错误

    TypeError: must be str, not bytes错误: 解答: 写文件处 f=open(filename, 'w')应该写为 open(filename, 'wb') 读文件时 f= ...

  6. TypeError: Can't convert 'int' object to str implicitly Python常见错误

    尝试连接非字符串值与字符串 想要字符串连接非字符串需要先进行强制转化 可以用str()函数 --------------------------------

  7. [C/C++] 输入函数getline(cin,str) 与cin.getline(str,int)区别

    cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度. getline(cin,str ...

  8. Python学习day3 数据类型Ⅰ(str,int,bool)

    day3  数据类型 @上节内容补充 每周一个思维导图-xmind.exe in / not in #示例:(是否包含敏感字符)while True:    text = input('请输入你要说的 ...

  9. str int list tuple dict 一些实操

    #字符串的 一些实操 a='what' b=' are ' c=' you ' print(a+b+c) #字符串拼接 m =a.split('+') #以什么分割 (代码a='w+ha+t' 输出[ ...

随机推荐

  1. unity打包exe中的资源管理

    给美术和产品用unity做一些exe工具,会频频遇到导入导出资源的情况. 首先所有的文件应该放在StreamingAssets文件夹下, 如果需要动态替换贴图,这样美术只要替换default.png就 ...

  2. 【Vue-Cli3.0】【1】创建一个Vue-Cli3.0的项目

    最近在做爬虫,然后要爬好多数据,代码写完了,就让它在爬了.不想闲着就复习一下Vue吧! 开始开始! ***正式讲解之前 先下载一个node.js吧! 一.首先检查一下 版本 PS D:\徐孟林\D D ...

  3. 大数加法~HDU 1002 A + B Problem II

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 题意: 数学题,A+B; 思路,这个数非常大,普通加法一定会超时,所以用大数加法.大数加法的基 ...

  4. ARM的编程模式

    ARM的编程模式 Linux ARM的工作状态 (主要指指令模式) 基本概述 32位架构 指令相关 ARM 32bit Thumb指令 16bit Thumb-2 16||32 bit 兼容 复位后开 ...

  5. [python]numpy.mean()用法

    a=np.array([[[1,1],[2,2],[3,3]],[[4,4],[5,5],[6,6]],[[7,7],[8,8],[9,9]],[[10,10],[11,11],[12,12]]]) ...

  6. lua 语言基础

    1.数据类型: string(字符串) ·运算符“+.-.*./”等操作字符串,lua会尝试讲字符串转换为数字后操作: ·字符串连接用“..”运算符 ·用“#”来计算字符串的长度(放在字符串前面) · ...

  7. webServices 使用GET请求接口方法

    webServices  若要使用GET请求接口方法在Web.config 下添加这段 <webServices>     <protocols>       <add  ...

  8. 用挂载,使用NTFS移动硬盘,拷贝iPhone里的照片,拷到MAC

    2. 写权限挂载移动硬盘 1) mount查看 2) diskutil umount /dev/disk2 3) sudo mount_ntfs -o rw,nobrowse /dev/disk2s1 ...

  9. Go语言基础之结构体

    Go语言基础之结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. 类型别名和自定义类型 自定义类型 在G ...

  10. 【原创】XAF ITreeNode+NonPersistent 使用方式

    在XAF中使用非持久化对象创建出TreeList这种树形结构 private void SetShowRFID(TArchivesBorrow archivesInStorage, string rf ...