python3基础语法及实例demo——条件判断和循环

if判断

格式:

if 条件表达式:
    pass
elif 条件表达式:
    pass
elif 条件表达式:
    pass
...
else:
    pass
  • 所有分支流必须以if开头
  • elif 和 else不是必须的
  • if 和elif后面要加条件表达式,else后面不加条件表达式
  • 分支按顺序执行,只要执行了一个分支下的代码,其他分支就不会再执行
def leap_year(year):
    """
    闰年是公历中的名词。闰年分为普通闰年和世纪闰年。
    普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年);
    世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);
    :param year: 传入一个年份参数,整型
    :return: 返回是否闰年的结果
    """
    if year % 400 == 0:  # 400的整数倍是世纪闰年
        return str(year) + "年是世纪闰年" 
    elif year % 4 == 0 and year % 100 != 0: # 4的整数倍且不是100的整数倍,为闰年
        return str(year) + "年是普通闰年"
    else:
        return str(year) + "年不是闰年"

if __name__ == '__main__':
    year = int(input("请输入一个有效年份:"))
    print(leap_year(year))
def max(a, b, c):
    """
    求三个数值中的最大值
    :param a:
    :param b:
    :param c:
    :return: 最大值
    """
    if a >= b and a >= c:
        return a
    elif b >= a and b >= c:
        return b
    elif c >= a and c >= b:
        return c

def max2(a, b, c):
    """
    求三个数值中的最大值
    :param a:
    :param b:
    :param c:
    :return: 最大值
    """
    max = a
    if a < b:
        max = b
    if max < c:
        max = c
    return max

循环

1)while循环

  • 格式:
while 条件:
    print()  # 循环体(符合条件执行循环体)
    break  # 跳出循环
    continue  # 后面的代码不执行,跳出本次循环,直接进入下次循环
  • 使用while循环要注意最终一定要不满足条件,跳出循环,不然就要手动加break强制跳出循环,要避免出现死循环。
num = 5
# 错误写法1,条件一直不变,会导致死循环
while num < 8:
    print(num)    
    
# 错误写法2,一直满足条件,不会退出循环,也会导致死循环
while num < 8:
    print(num)
    num -= 1
    
# 错误写法3,条件改变写在continue后面,一直没被循环到,相当于写法1,也将造成死循环
while num <8:
    print(num)
    continue
    num += 1    
    
# 正确写法1,通过变量递增达到跳出循环
while num < 8:
    print(num)
    num += 1

# 正确写法2,通过break使执行一次循环体就终止循环
while num <8:
    print(num)
    break

2)for循环

  • 格式:
for 条件: # for循环隐含步骤:index += 1
	循环体
  • for循环可用于遍历任意序列,如列表、字符串、元组等;
  • 当for循环执行完一个自循环后,隐含步骤:index += 1;
  • for循环也可以用break和continue,用法和while一样;
  • for循环嵌套,执行一次外层循环,执行一整轮内层循环。
"""打印 5-999 的所有奇数"""
count = 0
for num in range(5, 1000, 2):
    print(num, end='\t')
    count += 1
    if count % 30 == 0:  # 为达到友好显示效果,每打印30个数就换行
        print()
"""打印九九乘法表"""
    for i in range(1, 10):
        for j in range(1, i + 1):
            print(f"""{j}*{i}={j * i}""", end="\t")
        print()

总结:

  • 遍历一个已有的序列对象(列表、元组字符串、字典等),用for循环,
  • 不知道什么时候结束循环,需要条件判断(比如通过用户输入数据作为是否结束的判断条件),用while循环。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值