四、python流程控制

1、分支结构

作用

根据条件实现一些代码的执行与不执行,能够对代码进行控制执行

if语句

1.1、 单一条件分支

if 条件表达式:
	print("为真")
#特点  只有条件为真才会走

1.2、 双向条件分支

if 条件表达式:
	print("为真")
 else:
    print("为假")
 #特点  条件是否成立都会走一个

1.3、 多向条件分支

if 条件表达式:
    print("语句1")
elif 条件表达式:
    print("语句2")
else:
    print("语句三")
#特点  一级一级去判断

1.4、 if语句的简写

num = 5
print("hello" if num==5 else "world")
1 if 5>3 else 0

2、循环结构

2.1、 while循环

主体结构

   while 条件: #如果条件为真就一直执行 也就是死循环
   	#循环体

搭配else

   while :
    	pass
   else: 
       pass

while的简写

flag = 1
while (flag<=3): print ('Lucky');flag+=1

2.2、 for循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for i in range(5):
	print(i)
else:
	pass

2.3、 循环关键字

break  #跳出当前分支结构 或 循环结构
continue #跳过本次循环 继续下一次循环

注意

只有循环时正常循环结束的,才执行else,如果是使用了关键字break,则跳出循环,不再执行else。

3、实例

3.1、中奖的概率

import random
wining_num = int(input('请输入你的兑奖码(六位数兑奖码):'))
n = 0
if  100000 < wining_num < 999999:
    while True:
        n += 1
        if wining_num == random.randint(100000, 999999):
            print(n)
            break
else:
    print('请输入正确的兑奖码!')

3.2、求一个范围的偶数和奇数

min_num = int(input('请输入范围下限值:'))
max_num = eval(input('请输入范围上限值:'))
even_list = []
odd_list = []
for i in range(min_num, max_num + 1):
    if i % 2 == 0:
        even_list.append(i)
    else:
        odd_list.append(i)
print('范围{}到{}的偶数值为{}'.format(min_num, max_num, even_list))
print('范围{}到{}的奇数值为{}'.format(min_num, max_num, odd_list))

3.3、使用系统命令

import os
while True:
    cmd = input('请输入需要执行的操作(记事本、进程、退出):')
    if cmd == '记事本':
        os.system('notepad')
    elif cmd == '进程':
        os.system('tasklist')
    elif cmd == '退出':
        break
    else:
        os.system('echo other')

3.4、淘汰某一行,淘汰某一列

row_Num = int(input('请输入需要淘汰的行数(1-9):'))
column_Num = int(input('请输入需要淘汰的列数(1-9):'))
for i in range(1, 10):
    if i == row_Num:continue
    for n in range(1, 10):
        if n == column_Num:continue
        print(n, end=' ')
    print('第{}行'.format(i))

3.5、判断俩个数的大小 如果x>y 将俩个变量交换

x = 3
y = 1
if(x>y):
    z = x
    x = y
    y = z
print(x,y)

不使用临时变量

我们也可以不创建临时变量,用一个非常优雅的方式来交换变量:

x,y = y,x

3.6、猜数字

num = 8
while True:
    num1 = int(input('请输入你要猜的数字:'))
    if num1 == num:
        print('哎呀!好厉害呀!猜对了!')
        break
    elif num1 > num:
        print('数字大了')
    else:
        print('数字小了')

3.7、99乘法表

for i in range(1, 10):
    for j in range(1, i + 1):
        print('{}x{}={}'.format(j, i, i*j), end='\t')
    print()

3.8、把第几行第几列的数字改为x

row_Num = int(input('请输入需要替换的行数(1-9):'))
column_Num = int(input('请输入需要替换的列数(1-9):'))
replace_Str = input('请输入需要替换的字符:')
for i in range(1, 10):
    for n in range(1, 10):
        if n == column_Num and i == row_Num:
            n = replace_Str
        print(n, end=' ')
    print('第{}行'.format(i))

3.9、登录

先判断用户,后判断密码

db_name = 'qingqing'
db_passwd = '123456'
while True:
    user_name = input('请输入你要登录的用户名:')
    while user_name != db_name and count_name < 2:
        print('用户名输入还有{}次机会'.format(2 - count_name))
        user_name = input('该用户名不存在,请重新输入:')
        count_name += 1
    if count_name == 2:break
    user_passwd = input('请输入用户密码:')
    while user_passwd != db_passwd and count_passwd < 2:
        print('用户密码输入还有{}次机会'.format(2 - count_passwd))
        user_passwd = input('用户密码错误,请重新输入:')
        count_passwd += 1
    if count_passwd == 2:break
    if user_passwd == db_passwd and user_name == db_name:
        print('欢迎登录成功!')
        break

用户密码一起判断

db_name = 'qingqing'
db_passwd = '123456'
import random
count_num = 0
while count_num <= 2:
    test_num = random.randint(1000, 9999)
    print('验证码:{}'.format(test_num))
    input_test_num = int(input('请输入验证码:'))
    if input_test_num != test_num:
        print('验证码输入错误!')
        break
    user_name = input('请输入你要登录的用户名:')
    user_passwd = input('请输入你要登录的密码:')
    if user_name == db_name:
        if user_passwd == db_passwd:
            print('欢迎登录成功!')
            break
        else:
            print('请输入正确的密码')
    else:
        print('该用户不存在,请输入正确的用户')
    count_num += 1
    if 3 - count_num > 0:
        print('还有{}次机会'.format(3 - count_num))
    else:
        print('登录次数使用完毕!')

3.10、动态传参-99乘法表

def mul_table_func(x=9):
    for i in range(1, x + 1):
        for j in range(1, i + 1):
            print('{}x{}={}'.format(j, i, i*j), end='\t')
        print()

3.11、实现类似pop函数的功能

def mypop(List):
    remove_element = List[-1]
    del List[-1]
    return remove_element

3.12、实现类似popitem()函数的功能 删除最后一对键值对并返回

def my_popitem(Dict):
    mydict_list = list(Dict.items())
    remove_item = mydict_list[-1]
    remove_keys = mydict_list[-1][0]
    del Dict[remove_keys]
    return remove_item

3.13、实现字典的键值交换

def keys_values_change(Dict):
    new_dict = {}
    for k in Dict:
        new_dict[Dict[k]] = k
    return new_dict
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值