Python(四)流程控制语句

Posted on 2021-04-25 15:17  MissRong  阅读(74)  评论(0)    收藏  举报

Python(四)流程控制语句

1、while

#1)输出0-9
num = 0
while num < 10:
    print(num)
    num += 1
    pass
print("***************************")
#2)输出9-0
num2 = 9
while num2 >= 0:
    print(num2)
    num2 -= 1
    pass
#3)死循环
# while true:
#     print("true")

print("***************************")
#4)输出0-9之间的偶数
num4 = 0
while num4 < 10:
    if num4 % 2 == 0:
        print(num4)
    num4 += 1
    pass

2、while else

num5 = 0
while num5 < 10:
    print(num5)
    num5 += 1
    pass
else:
    print("值大于9了")
    pass

3、迭代器

#迭代器有两个基本的方法:iter()、next()
set1 = {1, 2, 3, 4, 5, 6, 7}
# set1 = ({1, 2, 3, 4, 5, 6, 7})
# set1 = set({1, 2, 3, 4, 5, 6, 7})

# print(set1[1]) set类型不支持下标取值

#可以使用迭代器取值
set2 = iter(set1)
num = 0
#迭代器没有长度,不能len(set2)
while num < len(set1):
    #next()一次只会对应一个元素
    print(next(set2)) 
    num += 1
    pass

4、嵌套循环

#嵌套循环
for i in range(6):
    print("*", end = " ")
    pass
# ******
# ******
# ******

for j in range(3):
    for i in range(6):
        print("*", end=" ")
        pass
    print("")
    pass
print("******************************************************************************************************************")

# 九九乘法表 
for j in range(1, 10):
    for i in range(1, j + 1):
        print("%d * %d = %d" %(j, i, i * j), end = "  ")
        pass
    print("")
    pass
# *
# **
# ***
# ****
# *****    
print("******************************************************************************************************************")
for j in range(9, 0, -1):
    for i in range(1, j + 1):
        print("%d * %d = %d" %(j, i, i * j), end = "  ")
        pass
    print("")
    pass
# *****
# ****
# ***
# **
# *
print("******************************************************************************************************************")
for j in range(9, 0, -1):
    print("             "*(9-j), end="")
    for i in range(j, 0, -1):
        print("%2d * %2d = %2d" %(j, i, i * j), end = " ")
        pass
    print("")
    pass   
# *****
#  ****
#   ***
#    **
#     *
print("*******************************************************************************************************************")
for j in range(1, 10):
    print("             "*(9-j), end="")
    for i in range(1, j + 1):
        print("%2d * %2d = %2d" %(j, i, i * j), end = " ")
        pass
    print("")
    pass  
#     *
#    **
#   ***
#  ****
# *****
print("************************")

#冒泡排序
list1 = [10, 34, 2, 5, 53, 12]
for i in range(len(list1) - 1, 0, -1):
    for j in range(i):
        if (list1[j] > list1[j + 1]):
            list1[j + 1],list1[j] = list[j], list[j + 1]print(list1)

5、推导式

#1、将0-10添加到列表
myList = []
for i in range(10):
    myList.append(i)
    pass
print("myList:",myList)

#列表推导式
myList1 = [i for i in range(10)]
print("myList1:", myList1)

#2、将偶数加入到列表中
myList2 = []
for i in range(10):
    if i % 2 == 0:
        myList2.append(i)
        pass
print("myList2:", myList2)

#列表推导式
myList3 = [i for i in range(10) if i % 2 == 0]
print("myList3:", myList3)
#3、数字折位
num = 4321
test = [int(num / 10 ** i % 10) for i in range(0, 4)]
test.reverse()
print(test)
#[4, 3, 2, 1]
#4、使用()代替原先的[]将会得到一个generator生成器对象
kk = "asdfghj"
gen = (i for i in kk)
print(gen)

item = iter(gen)
for i in range(len(kk)):
    print(next(item))

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3