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. I.MX6 bq27441 driver hacking
  2. 基于DoG的特征检测子(SIFT)_学习笔记
  3. python布尔类型运算_Python中与或非运算(布尔运算)
  4. 《2018中国大数据发展指数报告》发布:广东、上海、贵州、北京、重庆领先
  5. java反序列化 exp_java反序列化-ysoserial-调试分析总结篇(4)
  6. Oracle 11g 通过创建物化视图实现不同数据库间的表数据同步
  7. linux c之使用共享内存实现进程间通信
  8. 超详细的Hadoop2配置详解
  9. 没有计算机基础可以学python-要学 Python 需要怎样的基础?
  10. 个人永久性免费-Excel催化剂功能第44波-可见区域复制粘贴不覆盖隐藏内容
  11. Qt数据可视化(QPieSeries饼状图)
  12. HTC one/M7电信802d 毒蛇ViperOne2.1.0/高级毒蛇工具/完美root,精简/更多自定义,稳定,流畅ROM
  13. OpenCV入门学习笔记之常用的图像处理操作
  14. liunx 安装docker
  15. 力扣刷题 DAY_78 贪心
  16. python爬虫,爬取禅道BUG信息列表
  17. 动态代理的好处是什么
  18. 《小石潭记》古文鉴赏
  19. 论文: TextBoxes
  20. 手机浏览网页或打开App时莫名弹出支付宝领红包界面的原因及应对措施

热门文章

  1. 如何修改matlab中的语句,求大神帮忙看一下这个语句怎么改!!!!!
  2. 线程中可以创建进程吗_Linux 进程线程是如何创建的?
  3. image pil 图像保存_如何利用python中的PIL库做图像处理?
  4. c语言数组转置原理,为什么这个数组转置不对?
  5. mysql 可以用多个索引_mysql索引合并:一条sql可以使用多个索引
  6. android jni fork()子进程不运行_Android高级面试谈谈Zygote的理解
  7. Java 写时复制容器 —— CopyOnWriteArrayList
  8. Redis 基础——五大类型与数据结构
  9. html编译圣诞情缘,H5+JS+CSS3 实现圣诞情缘
  10. ddns 被解析为127.0.0.1_我为北京冬奥加油,2020.2.1-2.10冬奥知识分享