Python条件判断if、for、while if

枫铃3年前 (2021-09-30)Python200

if条件判断

if 条件判断:

    逻辑操作......
    ......

判断字符串是否为空

if a.strip():  #表示字符串不为空
    pass

判断是否为字典

d = dict(a=1)
if isinstance(d,dict):
    print("{0} is a dict".format(d))

例子:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
age = input("Please input your age: ")
if age.strip():
    if age.strip().isdigit():    # str.isdigit() 检查字符串是否只由数字组成
        if int(age) >= 18:
            print("你是一个成年人!")
        else:
            print("你还是一个小屁孩!")
    else:
        print("你输入的不是数字!")
else:
    print("你输入的年龄不符合要求")
if 条件判断:
    逻辑操作......
    ......
elif 条件判断:
    逻辑操作......
    ......
else:
    逻辑操作......

例子:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
number = input("Please input a number: ")
if int(number) > 0:
    print("{0} 是正数".format(number))
elif int(number) < 0:
    print("{0} 是负数".format(number))
else:
    print("输入的数字是{0}".format(number))

while循环

while 条件判断:
    逻辑操作......
    ......

例子:

a = 100
while a >= 1:
    print(a)
    a -= 1 

while中使用break和continue

while 1: 这个比while True效率高,因为1更接近与机器编码格式
break 满足某个条件时,立即结束当前循环
continue 跳过当前循环的剩余语句,继续进行下一轮循环

例子:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
while 1:
    age = input("Please input your age: ")
    if age.strip():
        if age.strip().isdigit():
            if int(age) >= 18:
                print("你是一个成年人!")
                break    # 遇到break就会终止,break之后的语句就都不会执行了
            else:
                print("你还是一个小屁孩!")
                break
        else:
            print("你输入的不是数字!")
    else:
        print("你输入的年龄不符合要求,请重新输入")
        continue   # 遇到continue会跳出本次循环,进入下一次循环

九九乘法表

分析:

  1x1=1
  1x2=2 2x2=4
  1x3=3 2x3=6 3x3=9

a x b = a*b
a最小是1,最大为行号
b等于行号

代码如下:

for b in range(1, 10):
    for a in range(1, b+1):
        print("{0}x{1}={2}".format(a,b,a*b),end="  ")  # python3中的空格  end=""
        if a == b:
            print()  # 相当于换行

还有一种一行写法:

print('\n'.join(' '.join("{0}x{1}={2}".format(x, y, x*y) for x in xrange(1, y+1) )for y in xrange(1, 10)))

练习1:

输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符个数。

'''
str.isdigit()  检查字符串是否只由数字组成
str.isalpha()  检查字符串是否只由字母组成
str.isspace()  检查字符串是否只由空格组成
'''
something = input("请随便输入一些内容: ")
while len(something) > 0:
    digit, letters, space, other = 0, 0, 0, 0
    for i in something:
        if i.isdigit():
            digit += 1
        elif i.isalpha():
            letters += 1
        elif i.isspace():
            space += 1
        else:
            other += 1
    print("数字有:{0}个\n英文字母有:{1}个\n空格有:{2}个\n其他字符有:{3}个".format(digit,letters,space,other))
    break

练习2:
输入一个数,求它的阶乘。

num = int(input("请输入一个数字: "))
factorial = 1
if num < 0:
    print("负数没有阶乘")
elif num == 0:
    print("0 的阶乘为 1")
else:
    for i in range(1, num + 1):
        factorial = factorial * i
    print("{0} 的阶乘为:{1}".format(num, factorial))

相关文章

Python-jsonpath使用和json转换

Python-jsonpath使用和json转换

(一)JSONPath-JSON的XPath JSONPath表达式始终以与XPath表达式与XML文档结合使用的相同方式引用J...

Python 删除文件与文件夹

删除文件 要删除一个文...

写 Python 时的 5 个坏习惯

很多文章都有介绍怎么写好...

Python logging模块日志存储位置踩坑

问题描述 项目过程中写了一个小模块,设计到了日志存储的问题,结果发现了个小问题。 代码结构如下: db.py...

Python中self的用法

Python中self的用法

在Python类中规定&...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。