python入门(三)判断语句

2023-01-31 00:01:14 语句 判断 入门

python中的常用判断语句if....elif....else,while
if
if的用法:

if  + 条件判断:
     逻辑操作.....

例子:
比如让你输入一个数字,来判断这个数字的大小

#如果这个数字大于80
    if 90>80:
        print "great"

如果输入的数字大于80,那么输出great

else的用法:
条件不成立
例子:


#如果这个数字大于80
if 70>80:
    print ("great")
#如果不大于80
else:
    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()

  1. 判断是不是数字isdigit()
  2. 判断是不是字母和数字isalnum()
  3. 判断是不是字母isalpha()
  4. 判断是不是空格isspace()
  5. 判断是不是小写/大写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=1
while a<10:
    print ("{0}".fORMat(a)
    a +=1

那么运行的结果就是,a=1,当a<10,打印a,然后a+1,回到循环(这时候a等于上一轮的a+1) ,是否满足条件a<10,然后打印当前“a”,然后“a”+1,继续回循环。。。。。

1
2
3
4
5
6
7
8
9

注意,当while的条件判断为while True:,或者while 1:的时候这个循环是一个死循环,因为不管怎么执行逻辑判断,条件都显示为正确
while 1:比while True:执行速度快,机器的底层代码就是0和1,True还需要进行转换

相关文章