封面图片来源:沙沙野
内容概览
- Python 中的 type() 函数
- Python 中的条件判断语句一: if
- Python 中的条件判断语句二:while
Python 中的 type() 函数
- type() 可以判断一个(对象)变量是什么数据类型
age = input("请输入你的年龄: ")
print(age, type(age))
# 运行结果:
# 请输入你的年龄: 20
# 20 <class 'str'>
age = int(input("请输入你的年龄: "))
print(age, type(age))
# 运行结果:
# 请输入你的年龄: 20
# 20 <class 'int'>
2. 这里必须了解的一点是,input() 不管用户输入什么内容,默认的数据类型都是字符串,要想改变数据类型,可以对其进行转换,比如:
age = int(input("请输入年龄: "))
print(age, type(age))
float_num = float(input("请输入一个小数: "))
print(float_num, type(float_num))
# 原因解析:使用 int(),必须确保用户输入的就是整数,否则会报错
# 使用 float(),必须确保用户输入的是整数或者小数,否则也会报错
Python 中的条件判断语句一: if
- if 嵌套
username = int("请输入用户名: ")
password = int(input("请输入密码: "))
if username == "二狗子":
if password == 666:
print("登录成功!")
else:
print("密码错误,请重新输入!")
else:
print("该用户名不存在,请重新输入!")
# 原因解析:每个 if 语句都跟着一个 else 语句,以便更完善整个逻辑。当然,不是说用了 if 语句就一定要加个 else 语句,具体情况具体分析
2. 从 if 语句中理解 Python 中逐行解释、逐行执行的特点
# 仔细看下面的代码,猜想一下,如果输入一个数字 10,运行结果是什么?
number = int(input("请输入一个数字: "))
if number == 3:
print("输入的数字等于3")
elif number > 5:
print("输入的数字大于5")
elif number > 8:
print("输入的数字大于8")
# 运行结果:
# 输入的数字大于5
# 原因解析:一定要理解的一点是,Python 程序运行时是逐行解释、逐行执行的
# 换句话说,程序是从上往下运行的,所以在 if 条件语句中只要遇到某个符合的条件,程序就停止运行
# 因此,虽然输入的数字 10 也比 8 大,但是程序在运行到第一个 elif 语句后就停止运行了
3. 多个 if 语句的情况
if 2 > 1:
print(111)
if 3 > 2:
print(222)
else:
print(333)
# 运行结果:
# 111
# 222
# 原因解析:这里的两个 if 语句之间是没有任何关系的,下面的 if 与 else 是一个代码块,因此两者之间的结果不受影响
Python 中的条件判断语句二:while
- 什么是死循环?
while True:
print("这是一个死循环,程序会一直运行, 按 ctrl + c 可以强行终止程序的运行")
print(111)
# 运行结果:
# 这是一个死循环,程序会一直运行, 按 ctrl + c 可以强行终止程序的运行
# 这是一个死循环,程序会一直运行, 按 ctrl + c 可以强行终止程序的运行
# 这是一个死循环,程序会一直运行, 按 ctrl + c 可以强行终止程序的运行
...
# 原因解析:像上面这样就是一个最简单的死循环,因此不会执行第二个 print() 函数
2. 立个标志位的用法
flag = True
while flag:
print(111)
flag = False
print(222)
# 运行结果:
# 111
# 222
# 原因解析:这里在 while 循环里面加了 flag = Flase 这个条件可避免出现死循环的情况
# 另外,第二个 print() 之所以能够执行,是因为循环体会把缩进的代码块的内容都打印出来,不会因为 flag = False 这个条件一执行就停止运行该条件下同一个代码块的内容
3. break:直接终止循环
while True:
print(111)
break
print(222)
# 运行结果:
# 111
# 原因解析:break 语句与上面的示例不同,它是直接终止 while 循环,因此不会执行第二个 print()
4. continue:中断本次循环,接着下一次循环
# 示例:打印出 1-5 的所有数字(4除外)
count = 0
while count < 5:
count += 1
if count == 4:
continue
print(count)
# 运行结果:
# 1
# 2
# 3
# 5
######## 方法二 ########
count = 0
while True:
count += 1
if count == 4:
continue
if count == 5:
break
print(count)
######## 方法三 ########
count = 0
while count < 10:
count += 1
if count == 7:
pass
else:
print(count)
######## 方法四 ########
count = 0
while count < 10:
count += 1
if count == 7:
count += 1
print(count)
5. 使用 while 循环打印出 1-100
######## 方法一 ########
number = 0
while number < 100:
number = number + 1
print(number)
######## 方法二 ########
count = 1
flag = True
while flag:
print(count)
count += 1
if count == 101:
flag = False
# 第二种方法看起来更麻烦一些,但是这种写法还是要学会
6. 使用 while 循环从 1 加到 100
######## 方法一 ########
# 不使用 break 语句
count = 1
ret = 0
while count < 101:
ret += count
count += 1
print(ret)
######## 方法二 ########
# 使用 break 语句
count = 1
ret = 0
while True:
ret += count
count += 1
if count == 101:
break
print(ret)
7. while...else... 循环中,没有 break 和有 break 的区别
# while...else... 中没有 break 语句
count = 0
while count < 5:
count += 1
print("计数", count)
else:
print("这个 else 语句会被执行")
# 运行结果:
# 计数 1
# 计数 2
# 计数 3
# 计数 4
# 计数 5
# 这个 else 语句会被执行
# while...else... 中有 break 语句
count = 0
while count < 5:
count += 1
if count == 3:
break
print("计数", count)
else:
print("这个 else 语句不会被执行")
# 运行结果:
# 计数 1
# 计数 2
PS: 为了方便大家相互交流、解决学习过程中遇到的问题,我新建了一个 QQ 群,感兴趣的小伙伴加进来一起学习吧!~ (群号码:697678250,加群请备注:笔记)