python中的逻辑判断与循环

目录

1.顺序语句

2.条件语句

(1)if

(2)if-else

(3)if-elif-else

练习:

1.输入一个整数,判定是否是奇数

2.输入一个整数,判断是正数还是负数

3.判定年份是否是闰年

3.缩进表示 代码块

4.空语句(pass)

5.循环语句

(1)while循环

例子1:打印1-10的整数

例子2:计算1-100的和

例子3:计算五的阶乘

例子4:1!+2!+3!+4!=5!

(2)for循环

打印1-10

打印2,4,6,8,10

打印从10到1

求1+2+3...+100

6.continue、break


1.顺序语句

默认情况下,Python代码的执行顺序,是从上到下依次执行的。

print("111")
print("222")
print("333")

2.条件语句

条件语句,就是根据一个具体条件的成立与否,来决定接下来的逻辑走向。

(1)if

if expression:

        do_something1

        do_something2

next_something


(2)if-else

if expression1:

        do_something1

else :

        do_something2


(3)if-elif-else

if expression1:

        do_something1

else expression2:

        do_something2

else:

        do_something3


练习:

1.输入一个整数,判定是否是奇数

a=int(input("请输入一个整数"))

if a%2==0:
    print("偶数")
else:
    print("奇数")

这个代码在C++/Java是不太行的,-19%2=-1 和1是不相等的,

在Python中 -19%2=1,因此这个代码是ok的。


2.输入一个整数,判断是正数还是负数

a=int(input("请输入一个整数"))
if a>0:
    print("正数")
elif a<0:
    print("负数")
else:
    print("0")

3.判定年份是否是闰年

#每隔4年闰一次。
#如果年份能够被100整除,(1900,2000),这是世纪闰年,得看是否被400整除
year=int(input("请输入一个年份:"))
if year%100==0:
    if year%400 ==0:
        print("闰年")
    else:
        print("平年")
else:
    #普通闰年的判定
    if year%4==0:
        print("闰年")
    else:
        print("平年")

优化代码:虽然代码短了,但是中间夹杂了一些更复杂的条件判定

year = int(input("请输入一个年份:"))
if(year%100!=0 and year&4==0)or year%400==0:
    print("闰年")
else:
    print("平年")

3.缩进表示 代码块

a=input("请输入一个整数")
if a=='1':
    print("aaaa")
    print("bbbb")

如果条件成立,那么aaaa和bbbb都会打印,如果条件不成立,那么都不会打印

a=input("请输入一个整数")
if a=='1':
    print("aaaa")
print("cccc")

cccc和条件无关,无论条件是否成立,都会打印,不属于条件语句中的内容


在python中,缩进表示代码块

在if,else,elif,while,for....需要跟上代码块的部分,都是需要使用缩进来表示的。


代码块嵌套:


a=input("请输入一个整数a")
b=input("请输入一个整数b")
if a=='1':
    if b=='2':
        print("aaa")
    print("bbb")
print("ccc")

 当有多级条件嵌套的时候,当前句子属于哪个代码块,完全取决于缩进的级别。

 

在C++/Java中,对于代码的缩进是没有强制要求的,缩进具体怎么写都不影响代码的编译结果。

如果缩进没有按照的统一风格来写,对于可读性比较影响。

4.空语句(pass)

什么都不做,也需要写一个pass空语句来占位

a=input("请输入一个数字:")
if a!='1':
    #啥都不做
    pass
else:
    print('hello')

5.循环语句

(1)while循环

while 条件

        循环体

条件为真,则执行循环体代码

条件为假,则结束循环


例子1:打印1-10的整数

num=1
while num<=10:
    print(num)
    num+=1

1.循环变量的初始值

2.循环的判定条件

3.循环变量的更新语句

例子2:计算1-100的和

#sum变量用于表示计算的和
sum=0
num=1
while num<=100:
    sum+=num
    num +=1

print(f'sum={sum}')

例子3:计算五的阶乘

 result =1
 num=1
 while num<=5:
    result *=num
    num+=1
print(f'result={result}')

例子4:1!+2!+3!+4!=5!

num=1
#sum表示最终累加的结果
sum=0
while num<=5:
    #先计算出当前num!是多少,往sum上进行累加
    factorResult=1
    i=1
    while i<=num:
        factorResult *=i
        i+=1
    sum +=factorResult
    num +=1

print(f'sum={sum}')

(2)for循环

for 循环变量 in 可迭代对象

        循环体


打印1-10

for i in range(1,11):

        print(i)


打印2,4,6,8,10

for i in range(2,12,2):

        print(i)

range是一个内建函数。起到的效果是得到一个可迭代对象中就包含了一系列整数

range(beg,end)=>[beg,end)


打印从10到1

#打印从10到1
# num=10
# while num>=1:
#     print(num)
#     num-=1

for i in range(10,0,-1):
    print(i)

求1+2+3...+100

#求1+2+3+...+100
sum=0
for i in range(1,101):
    sum+=i
print(f'sum={sum}')

使用shift+F6可以针对变量进行重命名,会智能的分析我们的代码,自动把所有需要修改的名字都统一替换了。也可能是Fn+F6

6.continue、break

continue:立即结束当前循环,进入下次循环

break:立即结束循环

while True:

光看到while True不一定是死循环,关键是看循环体里是不是还能break

例子:

#给定若干个数字,求平均值(也不知道几个数字)
#这个变量表示加和的结果
theSum=0
#这个变量表示有几个数字
count=0
while True:
    num=input("请输入一个数字:")
    if num==';':
        #约定当用户输入;的时候,表示输入的结果
        break
    num=float(num)
    theSum+=num
    count+=1
print(f'平均值为:{theSum/count}')

7.小结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值