1、现在有如下流程:A->B->C->D->E->F,要求根据输入的参数从制定的流程执行下去

"""
File: 01流程执行.py
Author: chde_wang
Date: 2020-08-16 18:51:35
Description:将输入存储到列表中,方便判断下一输入是否为之前的第二阶段,当前一阶段满足且输入为F时,输入结束
"""
import sys
process_list = ['A', 'B', 'C', 'D', 'E', 'F']
input_list = []
while True:print("若要退出请按quit!")input_char = input("请输入流程:")if input_char == 'quit':sys.exit()else:if input_char in process_list:for char_name in input_char:if char_name == 'A':input_list.append(char_name)print("下一流程为B")elif char_name == 'B' and input_list[-1] == 'A':input_list.append(char_name)print("下一流程为C")elif char_name == 'C' and input_list[-1] == 'B':input_list.append(char_name)print("下一流程为D")elif char_name == 'D' and input_list[-1] == 'C':input_list.append(char_name)print("下一流程为E")elif char_name == 'E' and input_list[-1] == 'D':input_list.append(char_name)print("下一流程为F")elif char_name == 'F' and input_list[-1] == 'E':input_list.append(char_name)print("流程结束")sys.exit()else:print("输入错误!", end='')else:print("输入错误,请重新输入!若要退出请按quit!")

修改:增加input_list 不为空控制:

"""
File: 01流程执行.py
Author: chde_wang
Date: 2020-08-16 18:51:35
Description:将输入存储到列表中,方便判断下一输入是否为之前的第二阶段
"""
import sys
process_list = ['A', 'B', 'C', 'D', 'E', 'F']
input_list = []
while True:print("若要退出请按quit!")input_char = input("请输入流程:")if input_char == 'quit':sys.exit()else:if input_char in process_list:if input_char == 'A':input_list.append(input_char)print("下一流程为B")elif input_list:if input_char == 'B' and input_list[-1] == 'A':input_list.append(input_char)print("下一流程为C")elif input_char == 'C' and input_list[-1] == 'B':input_list.append(input_char)print("下一流程为D")elif input_char == 'D' and input_list[-1] == 'C':input_list.append(input_char)print("下一流程为E")elif input_char == 'E' and input_list[-1] == 'D':input_list.append(input_char)print("下一流程为F")elif input_char == 'F' and input_list[-1] == 'E':input_list.append(input_char)print("流程结束")sys.exit()else:print("输入错误!", end='')else:print("输入错误,请重新输入!若要退出请按quit!")

2、数据库题目:数据库记录行转列

现有数据库记录如下:

 实现方式1-静态max实现:

SELECT`Name`,max( CASE WHEN SUBJECT = '语文' THEN Score ELSE 0 END ) AS 语文,max( CASE WHEN SUBJECT = '数学' THEN Score ELSE 0 END ) AS 数学,max( CASE WHEN SUBJECT = '英语' THEN Score ELSE 0 END ) AS 英语,max( CASE WHEN SUBJECT = '生物' THEN Score ELSE 0 END ) AS 生物
FROMtest_a
GROUP BYNAME;

实现方式2-静态sum实现:

SELECT`Name`,sum( CASE WHEN SUBJECT = '语文' THEN Score ELSE 0 END ) AS 语文,sum( CASE WHEN SUBJECT = '数学' THEN Score ELSE 0 END ) AS 数学,sum( CASE WHEN SUBJECT = '英语' THEN Score ELSE 0 END ) AS 英语,sum( CASE WHEN SUBJECT = '生物' THEN Score ELSE 0 END ) AS 生物
FROMtest_a
GROUP BYNAME;

实现方式3-动态实现:

SET @sql = NULL;
SELECTGROUP_CONCAT( DISTINCT CONCAT( 'MAX(IF(a.Subject = ''', a.Subject, ''',a.Score, 0)) AS ''', a.Subject, '''' ) ) INTO @sql
FROMmysql.test_a a;SET @sql = CONCAT('Select Name,', @sql, 'From test_a a GROUP BY a.Name');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

注:前后test_a 的别名必须一致,否则出错。

参考自https://blog.csdn.net/wqc19920906/article/details/79791322?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

python-week5相关推荐

  1. Python爬虫实习笔记 | Week5 Daliy工作内容概要与反思

    2018/11/12 1.所思所想: 今天上午搞分布式爬虫项目,发现自己还是无法跑通,希望自己熟练之后能够顺利解决. 下午就是把自己的想法付诸实践,就是将后台脚本进行封装,从而有利于复用,自己有一本& ...

  2. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  3. python数据笔记分析_利用 Python 进行数据分析学习笔记(一)

    数据分析是产品经理的必备技能之一,今年有意在提升自己这方面的能力.为了系统地学习,花了 20 个小时左右的时间在 Coursera 上学完的<用 Python 玩转数据分析>. 课程简介 ...

  4. python解析xml文件选用模块_Python标准库系列之xml模块

    Python's interfaces for processing XML are grouped in the xml package. 带分隔符的文件仅有两维的数据:行和列.如果你想在程序之间交 ...

  5. python 哪些比赛-国内数据挖掘比赛有哪些?

    (文章来自公众号:Python或R人工智能学习,ID:Python_R_wu,后附学习资料.) 随着人工智能的发展,越来越多的公司开始举办大数据比赛,题目类型也越来越丰富,短视频.自动驾驶等题材越来越 ...

  6. Programming Languages PartA Week5学习笔记——SML进阶与编程哲学

    文章目录 Week5 Introduction What is Type Inference ML Type Inference Type Inference Examples Polymorphic ...

  7. 20165214 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5

    <网络对抗技术>Exp3 免杀原理与实践 Week5 一.实验内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shell ...

  8. python神器_Python的三大神器,你知道是哪三大吗?史上最详细的入门教程!

    Python的三大神器:装饰器.迭代器与生成器!这就是Python的三大神器,好了废话不多说.直接来上干货吧! 生成器 仅仅拥有生成某种东西的能力,如果不用__next__方法是获取不到值得. 创建一 ...

  9. python 历遍,Python 历遍目录

    使用 os 模块的 walk() 函数可以实现历遍目录的操作,该函数接收一个绝对路径字符串作为必选参数,返回三个参数: 当前目录--指程序当前工作目录--名称(字符串格式) 当前目录--指程序当前所历 ...

  10. week5 day4 面向对象编程高级

    week5 day4 面向对象编程高级 一. 判断是不是对象,是不是子类 二. 反射 2.1 反射机制的实现原理 2.2 四个内置函数的使用 2.3 用反射的好处 三. 内置方法 3.1 `__set ...

最新文章

  1. 让看不见的AI算法,助你拿下看得见的广阔市场
  2. 关于Block的copy和循环引用的问题
  3. 计算机一级电子表格怎么打开,xls文件怎么打开?其实很简单
  4. Python爬虫框架Scrapy安装使用步骤
  5. mybatis-MyBatis-Plus
  6. delphi控件切图界面闪烁_小程序设计,不得不说的7个坑 (附资源:新版小程序 UI 控件,Sketch 版)...
  7. 计算机网络的含义是什么意思,互联网的基本含义是什么
  8. Head first servlet and jsp学习笔记
  9. 【Java】输出50-100范围内所有的素数
  10. 关于Rxjava的几个问题
  11. C#写文本写Csv文件操作
  12. 苹果Mac好用的图片编辑工具:Acorn 再升级
  13. atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质
  14. python绘图——坐标轴
  15. 删除设备和驱动器下的百度云盘的图标
  16. 游戏服务端究竟解决了什么问题?
  17. 制作openstack镜像(qcow2格式的win10系统)
  18. linux 缩小硬盘镜像,缩小qcow2格式kvm虚拟镜像磁盘大小[转]
  19. 使用EasyExcel实现excel的简单读写操作
  20. 为什么只看重结果_太过于看重结果会失掉过程

热门文章

  1. 用户密码到底要怎样存储?
  2. mybatis获取表名——mybatis动态调用表名和字段名#{},${}
  3. Java微服务篇3——Lucene
  4. C语言2020年作业,2020年c语言上机报告范文【四篇】
  5. 怎么从mysql注册表删除用户_mysql 创建和删除用户
  6. messageformat.format() 自定义参数名_DedeCMS的Java版mcms 第四季之一: 自定义插件
  7. 矩阵 计算机应用,《计算机视觉算法:基于OpenCV的计算机应用开发》 —3.3 元素级矩阵操作...
  8. Linux进阶之路————Linux概述
  9. 数据列表的分页实现————分页敏捷开发
  10. rabbitmq+topic+java_译:5.RabbitMQ Java Client 之 Topics (主题)