python中的常用判断语句if....elif....else,while
if
if的用法:
if + 条件判断: 逻辑操作.....
例子:
比如让你输入一个数字,来判断这个数字的大小
#如果这个数字大于80 if 90>80: print "great"
如果输入的数字大于80,那么输出great
else的用法:
条件不成立
例子:
#如果这个数字大于80if 70>80: print ("great")#如果不大于80else: print ("it's wrong")
我们输入一个数字,如果大于80,那么输出就是great,如果小于80,那么就是wrong
elif的用法:
多个判断条件
例子:
#如果这个数字大于80 if 77>80: print ("great")#如果这个数字大于60 elif 77>60: print ("yes") else: print ("it's wrong")
当我输入一个数字,比如输入90,那么打印的结果就是great,如果输入77,那么打印的结果就是yes,当我输入50,打印的结果就是it'wrong
以上为正常的判断和输入,但是当我需要自己输入的时候呢?a=input("please input a number:" )
这是要我们输入的一个字符串,我们需要把这个字符串强制转换成整数类型,需要用的int
前面说过,整数类型int,字符串str,浮点数floa
a=input("please input a number:" ) if int(a)>80: print ("great") elif int(a)>60: print ("yes") else: print ("it's wrong")
问题1:
input输入的是一个字符串,比如输入的有空格,空格不是整数
那么我们需要判断是否输入的有没有空格,用strip()函数
a=input("please input a number:" ) if a.strip(): if int(a)>80: print ("great") elif int(a)>60: print ("yes") else: print ("it's wrong") else: print("不允许输入空格")
这时候输入空格的话就会打印 ‘不允许输入空格’
问题2
当我输入一串英文呢?那么我们继续加入一个判断,来判断是不是一个数字用函数.isdigit()
判断是不是数字isdigit()
判断是不是字母和数字isalnum()
判断是不是字母isalpha()
判断是不是空格isspace()
判断是不是小写/大写islower()/isupper()
a=input("please input a number:" )
if a.strip():
if a.isdigit():
if int(a)>80:
print ("great")
elif int(a)>60:
print ("yes")
else:
print ("it's wrong")
else:
print("这不是一个数字")
else:
print ("不允许输入空格")
while循环
用法:
while 条件: 1 逻辑判断if...else.. 2
执行顺序1→2→1→2。。。。。直到while条件不成立
比如
a=1while a<10: print ("{0}".format(a) a +=1
那么运行的结果就是,a=1,当a<10,打印a,然后a+1,回到循环(这时候a等于上一轮的a+1) ,是否满足条件a<10,然后打印当前“a”,然后“a”+1,继续回循环。。。。。
123456789
注意,当while的条件判断为while True:,或者while 1:的时候这个循环是一个死循环,因为不管怎么执行逻辑判断,条件都显示为正确
while 1:比while True:执行速度快,机器的底层代码就是0和1,True还需要进行转换