python-week5

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel学习1-查看一列数值是否在另一列中存在

出现次数用COUNTIF 是否出现使用 IFCOUNTIF 加入$的作用是将需要比对的列固定范围。写好一个函数后,使用右下角号,直接下拉就可以。 参考自https://blog.csdn.net/gywtzh0889/article/details/72910377

fx5u以太网通讯设置_操作示例 | 实现S7300和FX5U的数据交换

北辰BCNet-S7300Plus(以下简称BCNet),在BCNet-S7300的基础上,以太网口增加了支持与西门子带网口PLC(S7-200SMART 、S7-1200、S7-1500、S7300PN)之间的通讯功能。这些通讯功能包括基于S7TCP协议的数据交换、ModbusTCP服务器功能、ModbusTCP客户机功能&…

excel基础-固定某一列的输入内容

Office:需要固定的单元格-点击数据-数据有效性-点击,选择有效性条件 允许为:序列,然后需要下拉框内容,并选择下拉框。即可 切记:开源中的逗号为英文逗号。 最后效果如下: 参考自https://jingya…

为什么多个线程不可能同时抢到一把锁_HFL Redis_12_redis分布式锁的3种实现方式...

HotFrameLearning(简称 HFL) Redis_12_redis分布式锁的3种实现方式-一、大致介绍1、昨天介绍完redis的数据结构后,有小伙伴让本人讲讲redis的分布式锁,因此才有了此篇的由来,只是把我的节奏提前了而已;2、接下来我就通过几种方式介…

linux下mysql5.7修改密码

开始修改MySQL用户密码 ① 输入use mysql回车; ② 输入update user set password password(“147258”)where user’root’; “147258”为你自己设置的密码; 执行第二步后如果报错: 执行后报错  ERROR 1…

react项目中的参数解构_重构复杂的React组件:编写高效且可读组件的5个最佳实践...

随着 React.js 的不断进化,现在的它已经成为 Web 组件中最受欢迎的视图库之一。但是你手中的它,是否真的能够正常工作呢?本文将主要描述 5 个关于React 组件的最佳实践,希望对正在关注 React 组件的你有所帮助。我自己是一名从事了…

robotFramework-ride使用1-关键字驱动与数据类型

RF项目结构 项目文件夹(new project) 用例集(test suit) 测试用例(test case) RF基本功能-设置区介绍 项目 --》settings----》Document:添加用例说明 suit setup:执行此测试套件…

opencv threshold_基于深度学习OpenCV与python进行字符识别

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达当我们在处理图像数据集时,总是会想有没有什么办法以简单的文本格式检索图像中的这些字符呢?今天我们就一起看看有没有什么简单的办法可以实现这一…

python3 robotframework+pycharm框架搭建

1.安装python3 框架组成:自动化基础库(robotframework)图形界面(robotframework-ride) 2.安装RF框架 安装robotframework。pip install robotframework -i https://pypi.doubanio.com/simple 安装robotframework-r…

delphi if多个条件_判断(if)语句

判断(if)语句目标开发中的应用场景if 语句体验if 语句进阶综合应用01. 开发中的应用场景生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……程序中的判断if 今天发工资: ​…

excel sheet限制_Python 处理Excel内的数据(案例介绍*3)

点击上方“蓝字”关注我们了解更多精彩案例一介绍现在有一批电商产品跟当日销量的数据,如下,总共有上万笔的数据,现在需要统计每个品牌当日的销售量,比如美宝莲今天总共卖出了多少的商品,另外需要统计每个品牌下面的每…

robotFramework-ride使用2-分支与循环

1条件运算 Run keyword if 如果条件为True,则执行关键字 ELSE IF ELSE IF使用案例1: 2循环 在使用append to list前,添加Collections库 列表元素添加与删除 列表元素求和-循环 :FOR ${i} IN 1 2 3 4 5 :FOR ${i} IN RANGE 1 5FOR里面…

项目案例:在线拍卖系统_冀拓公司在张家口开展尾矿库在线监测监控系统 建设项目...

近日,受张家口弘锦矿业有限责任公司委托,冀拓公司在弘锦矿业大东沟尾矿库开展了安全风险智能在线监测监控系统施工安装服务。由于该库为“头顶库”,按照省应急管理厅要求“头顶库”必须在6月底之前完成联网,在6月24日接到项目任务…

Linux 两台服务器之间传输文件和文件夹

今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎…

arm汇编指令集_1. 从0开始学ARM安装Keil MDK uVision集成开发环境

关于ARM的一些基本概念,大家可以参考我之前的文章:《0.到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】》0. 如何学习arm?ARM的知识点很多很杂,很多同学都遇到过类似的问题&#xff0…

32位存储环境下整数范围为什么是[-2^31,2^31-1]?

一、概念:存储单位 1.“位”是数据存储的最小单位。在计算机中的二进制数系统中,位,简记为bit,也称为比特,每个0或1就是一个位。 2.“字节”是计算机信息技术用于计量存储容量的一种计量单位,通常情况下,…

mysql5.7配置用户名密码_MySQL57安装图解

原文:MySQL57安装图解_ma524654165的博客-CSDN博客作者: ma524654165MySQL57安装图解、、、0-需要准备的安装包1在百度下载MySQl开始安装下载的MySQL勾选同意点击Next4选择Server only5点击execute继续6点击next7直接next8配置服务器的端口-默认9设置一个…

vc6.0添加注释快捷键

第一步:工具 第二步:点击定制(Customize)-键盘-All commands-选择CommentOut,在新建快捷键处填写Ctrl/。

python 释放内存_学了4年C++后,我转向了Python

作者 | asya f 编译 | Lisa C 已经学不动了,现在换 Python 还来得及吗?一位四年工作经验的 C 程序员亲述转型历程,这不仅仅是语言上的转变,而是代码思维甚至工作环境的转变。 通常,程序员会认为 Python 编码比较简单&a…

2021-03-07

一、安装和使用Anaconda 1、anaconda是什么? Anaconda在英文中是“巨蟒”的意思,与python的意思相近,它是python的包管理器和环境管理器。 2、为什么需要安装anaconda? 原因有以下几点: 附带一大批常用的数据科学…