Python基础 1.4 条件与循环

1.4 条件与循环

​ 在应用场景中我们经常需要使用

条件的判断,来筛选需要的数据,以及通过筛选来完成重复的步骤,也就是所谓的条件和循环。

1.4.1 if

​ if语句是我们最常用的条件判断语句

1.单条件判断

print("请输入您的年龄",end="")
x = input()
if int(x) > 18:
    print("已成年,可以进入")
请输入您的年龄25
已成年,可以进入

2.双分支判断

print("请输入您的年龄", end="")
x = input()
if int(x) > 18:
    print("已成年,可以进入")
else:
    print("未成年,不允许进入")
请输入您的年龄14
未成年,不允许进入

简洁版的 三目运算符

a if a > b else b

下面是例子

a = input("请输入a的值:")
b = input("请输入b的值:")
_max = a if a > b else b
print("最大数是%d" % int(_max))	

3.多分支判断

print("Hello, please input your destination: ", end="")
des = input()
if des == "A":
    print("Transporting to A")
elif des == "B":
    print("Transporting to B")
elif des == "C":
    print("Transporting to C")
else:
    print("no destination was found here,please try again")

​ else if 可以在一个判断里多次使用,但是else 只能用一次。

4.条件嵌套

print("请问带学生牌了吗?", end="")
card = input()
if card == "带了":
    print("请问带笔记本以及其他内容了吗?")
    nes_stuff = input()
    if nes_stuff == "带了":
        print("可以进去")
    else:
        print("不可以进去")
else:
    print("不可以进去")

1.4.2 while和for循环,break 与continue

1.单while循环

​ 我们做一个查询一串字符串里有多少个x的功能。

print("请输入一串单词或者字母串")
x = input()
len01 = len(x)
i = 0
n = 0
while i < len01:
    if x[i] == "x":
        n += 1
    i += 1
print("总共有%d个x字母" % n)

输出如下:

请输入一串单词或者字母串
xhuhxiuhxiuhxhuhxiuhuix
总共有6个x字母

2.break

​ 符合条件时跳出当前循环,且不会执行else里的语句

print("请输入一串单词或者字母串")
x = input()
len01 = len(x)
i = 0
n = 0
while i < len01:
    if x[i] == "x":
        n += 1
    i += 1
    if i > 20:
        break
# else:
#     print("超出20个限制,20个以内有%d个x字母" % n)
# 因为有break,所以循环里的执行打断跳出后也不会执行else里的语句
print("总共有%d个x字母,超出20位以上的没有计入" % n)

3.continue

​ 跳过这次循环,仍旧继续循环

x = input("请输入一个数字,计算从1到这个数字的所有个位数不为0的偶数数字 : ")
x = int(x)
n = 0
x_max = 0
while n <= x:
    x_max = x_max + n
    n += 2
    if n % 10 == 0:
        n += 2
        continue
print("合计为%d" % x_max)

4.pass

5.while else

​ 不同于if else,如果循环里没有break,则不仅会进行循环里的语句,还会执行else的。如果有break,则跳出后不会执行。

print("请输入一串单词或者字母串")
x = input()
len01 = len(x)
i = 0
n = 0
while i < len01:
    if x[i] == "x":
        n += 1
    i += 1
    if i > 20:
        break
# print("总共有%d个x字母" % n)
else:
    print("超出20个限制,20个以内有%d个x字母" % n)
# 因为有break,所以循环里的执行打断跳出后也不会执行else里的语句

6.for 循环

x = input("输入一串随机字母串: ")
y = input("输入一个你想知道的字母数量的字母: ")
num = 0
i = 0
len01 = len(x)
for i in range(len01):
# range(起始,结束,步长) 起始默认是0,步长默认是1。range是左闭右开的。
    if x[i] == y:
        num += 1
print("在你输入的字母串里含有%d个字母%s" % (num, y))

以下是一个相对复杂的应用,在输入的数组里排序出来从小到大的列表

num_list = input("请输入一串数组(每个数字用空格隔开), ")
li = num_list.split(" ")
m = len(li)
i = 0
com = 0
while i < m:
    j = 1
    while j < m-i:
        if li[j-1] > li[j]:
            com = li[j-1]
            li[j-1] = li[j]
            li[j] = com
        j += 1
    i += 1
print(li)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值