python-week5
生活随笔
收集整理的這篇文章主要介紹了
python-week5
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、現(xiàn)在有如下流程:A->B->C->D->E->F,要求根據(jù)輸入的參數(shù)從制定的流程執(zhí)行下去?
""" File: 01流程執(zhí)行.py Author: chde_wang Date: 2020-08-16 18:51:35 Description:將輸入存儲到列表中,方便判斷下一輸入是否為之前的第二階段,當(dāng)前一階段滿足且輸入為F時(shí),輸入結(jié)束 """ 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("流程結(jié)束")sys.exit()else:print("輸入錯誤!", end='')else:print("輸入錯誤,請重新輸入!若要退出請按quit!")修改:增加input_list 不為空控制:
""" File: 01流程執(zhí)行.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("流程結(jié)束")sys.exit()else:print("輸入錯誤!", end='')else:print("輸入錯誤,請重新輸入!若要退出請按quit!")2、數(shù)據(jù)庫題目:數(shù)據(jù)庫記錄行轉(zhuǎn)列
現(xiàn)有數(shù)據(jù)庫記錄如下:
?實(shí)現(xiàn)方式1-靜態(tài)max實(shí)現(xiàn):
SELECT`Name`,max( CASE WHEN SUBJECT = '語文' THEN Score ELSE 0 END ) AS 語文,max( CASE WHEN SUBJECT = '數(shù)學(xué)' THEN Score ELSE 0 END ) AS 數(shù)學(xué),max( CASE WHEN SUBJECT = '英語' THEN Score ELSE 0 END ) AS 英語,max( CASE WHEN SUBJECT = '生物' THEN Score ELSE 0 END ) AS 生物 FROMtest_a GROUP BYNAME;實(shí)現(xiàn)方式2-靜態(tài)sum實(shí)現(xiàn):
SELECT`Name`,sum( CASE WHEN SUBJECT = '語文' THEN Score ELSE 0 END ) AS 語文,sum( CASE WHEN SUBJECT = '數(shù)學(xué)' THEN Score ELSE 0 END ) AS 數(shù)學(xué),sum( CASE WHEN SUBJECT = '英語' THEN Score ELSE 0 END ) AS 英語,sum( CASE WHEN SUBJECT = '生物' THEN Score ELSE 0 END ) AS 生物 FROMtest_a GROUP BYNAME;實(shí)現(xiàn)方式3-動態(tài)實(shí)現(xiàn):
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
總結(jié)
以上是生活随笔為你收集整理的python-week5的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python操作文件,报FileNotF
- 下一篇: python列表对应元素合并为列表及判断