首先,程序的三大执行流程
顺序结构:程序从上到下依次执行,然后就是如果遇到报错,程序就会停下来
分支结构,根据分支后面条件的真假,执行分支里面的代码
循环结构,循环执行里面的代码
顺序结构:从上到下执行,就直接略过
分支结构
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("不可以结婚")