A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangyang1 初级黑马   /  2018-6-3 21:23  /  819 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、if语句


if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,请测试并解释为什么下面的程序打印的是teenager:

age = 20if age >= 6:    print('teenager')elif age >= 18:    print('adult')else:    print('kid')2、input输入的数据类型是str

很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思:

birth = input('birth: ')if birth < 2000:    print('00前')else:    print('00后')

输入1982,结果报错:

Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: unorderable types: str() > int()

这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:

s = input('birth: ')birth = int(s)if birth < 2000:    print('00前')else:    print('00后')

再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息:

Traceback (most recent call last):  File "<stdin>", line 1, in <module>ValueError: invalid literal for int() with base 10: 'abc'

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马