python基础16_流程控制

本文介绍了Python编程中的顺序结构、分支结构(单分支、双分支和多分支)、循环结构(包括while和for),以及循环控制、条件判断和实际案例如发送消息和模拟登录系统的实现。同时涉及了Python中缩进规则和一些实用技巧如剪贴板操作和多层嵌套循环。
摘要由CSDN通过智能技术生成

首先,程序的三大执行流程

顺序结构:程序从上到下依次执行,然后就是如果遇到报错,程序就会停下来

分支结构,根据分支后面条件的真假,执行分支里面的代码

循环结构,循环执行里面的代码

顺序结构:从上到下执行,就直接略过

分支结构

import random

num1 = random.randint(1,4)
num2=input("请随机输入一个1-4的整数")
print(type(num2))
num2=int(num2)
print(type(num2))
# 单分支
if num1==num2:
    "if后面跟判断条件,如果条件成立便执行后面的代码"
    print("看书")

# 双分支结构
#if后面跟判断条件,如果成立就执行后面的代码,如果不成立就执行else后面的代码
if num1>num2:
    print('吃面条')
else:
    print("喝西北风")
#多分支结构
#如果前面条件满足就只执行那个分支,不执行后面的分支代码
num3=random.randint(1,100)
if num3>80:
    print("吃火锅")
elif num3>60:
    print("吃面")
elif num3>40:
    print('吃串串')
else:
    print("喝西北风")

扩展:缩进,python中是通过缩进来控制代码所属 

循环结构

import time

a = 1
while a < 10:
    # while循环后面跟判断条件,如果条件成立就执行循环里面的代码,如果条件一直成立就会是死循环,可以通过改变判断条件控制循环的次数
    # 第一种方式,通过在循环体里面改变它的判断条件,达成有限次数的循环
    print("车厘子")
    time.sleep(0.1)
    a += 1
a = 7
while 1:
    a += 1
    if a == 34:
        continue #就是遇到continue,就是暂停本次循环,
    print(a)
    if 100 // a < 2:
        break

# while后面的值为真就会一直循环
# 在循环体里面写一个分支,分支里面跟break然后通过改变分支里面的判断条件达成有限次数的循环

扩展:python中是通过缩进来控制代码所属的

占位符:

"pass就是占位符,就是这个位置还没想好怎么写,就暂时占个位置."
if 1:
    pass
print(1)
print(2)

 for循环

list_0 = [12,23,44,56]
for i in list_0:
    #遍历列表,每次循环分别把列表里的值依次赋值给i
    print(i)

for i in range(len(list_0)):#获取列表的长度.len(list_0)=4,循环把range(4)依次赋值给i
    "如果i==2 就执行下面的代码,就是打印list_[]"
    if i == 2:
        print(list_0[i])

for i in range(10):
    print(i)
for i in range(10):
    print("李白")
for i in range(3,11):
    print(i)

扩展:print  end

print("1", end="\n\n")#默认结尾是换行,那么可以通过end参数去改变这个默认结尾.
print("2")

扩展,打开qq自动循环发送消息

import win32clipboard as clipboard
import win32con
import win32gui
def qq_send_message(num,message):
    """
    这个函数的功能就是循环在qq界面发送消息,其中num是循环次数,message是具体的消息
    :param num:循环次数
    :param message: 消息内容
    :return: None
    """
    #创建一个窗口对象,根据标题去找到这个窗口句柄,可以认为把这个窗口赋值给qq_window这个变量
    qq_window = win32gui.FindWindow(None, "離ㄨStarノ傷")
    # 直接通过win32gui里面发方法(函数) 把里面的那个qq_window窗口显示在页面上,就是能够让他可见,这样避免报错
    win32gui.SetForegroundWindow(qq_window)
    """
    先解释一下什么是剪贴板
    剪贴板是计算机操作系统中的一个功能,它允许用户在不同的应用程序之间复制和粘贴数据。
    当你复制一段文本、图像或其他类型的数据时,这些数据会被保存到剪贴板中,然后你可以
    将其粘贴到其他应用程序或同一应用程序的不同位置。剪贴板可以方便地在不同应用程序之
    间传递数据,提高了工作效率。
    """
    # 打开剪贴板,准备进行操作。
    clipboard.OpenClipboard()
    #清空剪贴板中的内容,确保剪贴板为空。
    clipboard.EmptyClipboard()
    # 将数据设置到剪贴板中。这里使用了CF_UNICODETEXT格式,将字符串message设置到剪贴板中。
    clipboard.SetClipboardData(win32con.CF_UNICODETEXT, message)
    # 关闭剪贴板
    clipboard.CloseClipboard()
    for i in range(num):
        # win32gui.SendMessage是一个函数,里面有四个参数,其中第一个是窗口句柄,也就是在针对哪个窗口,然后第二个消息类型,意思就是把剪贴版的内容进行复制在这个窗口里
        win32gui.SendMessage(qq_window, win32con.WM_PASTE, 0, 0)
        #这个就是参数不一样,win32con.WM_KEYDOWN这个代表按下 win32con.VK_RETURN这个代表enter键
        win32gui.SendMessage(qq_window, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
        # 这个就是参数不一样,win32con.WM_KEYDOWN这个代表提起 win32con.VK_RETURN这个代表enter键
        win32gui.SendMessage(qq_window, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
qq_send_message(10, "你站在桥上看风景,楼上看风景的人在看你")

作业:

九九乘法表

用if和while写一个登录系统.密码输入超过3次就结束程序.
    先用num来保存密码输入次数.如果密码正确就登录成功, 如果错误就提醒. 超过了三次.就直接break

用if写一个猜拳游戏.对方默认出石头

打印一个10*10空心矩形

有对情侣.男方叫 阿强 女方叫阿珍.请输入双方的年龄.判断两者是否能够结婚 (法定结婚年龄男方22岁 女方20岁)
for i in range(9):
    for _ in range(9-i):
        print(f"{9-i}*{_+1}={(9-i)*(_+1)}",end=" ")
    print()
num0=123456
num1=3
while num1>=0:
    num2 = input("请输入密码:")
    num2 = int(num2)
    if num2==num0:
        print("密码正确")
        break
    elif num2!=num0:
        print("密码错误")
        num1-=1
        if num1<=0:
            print("错误超过3次,已限制次数")
            break

 

import random

while 1:
    num = random.randint(1, 3)
    str_0 = int(input("请输入1,2,3,其中1代表石头,2代表布,3代表剪刀"))
    if num == 1 and str_0 == 3 or num == 2 and str_0 == 1 or num == 3 and str_0 == 2:
        print("你运气差,电脑赢了")
    elif num == 1 and str_0 == 2 or num == 2 and str_0 == 3 or num == 3 and str_0 == 1:
        print("你运气真好")
    else:
        print("大家平局")
    num_2 = input("如果继续请输入0,结束游戏请输入1")
    if num_2 == "0":
        pass
    elif num_2 == "1":
        break

 

for i in range(10):
    if i == 0 or i == 9:
        for j in range(10):
            print("+", end='  ')
    else:
        for j in range(10):
            if j == 0 or j == 9:
                print("+", end='  ')
            else:
                print(" ", end='  ')
    print()

 

boy="阿强"
girl="阿珍"
age_1=input("请输入男方年龄:")
age_2=input("请输入女方年龄:")
age_1=int(age_1)
age_2=int(age_2)
if age_1>=22 and age_2>=20:
    print("可以结婚")
else:
    print("不可以结婚")

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值