python-week5
生活随笔
收集整理的這篇文章主要介紹了
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
總結
以上是生活随笔為你收集整理的python-week5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python操作文件,报FileNotF
- 下一篇: 主机数,子网数,网络号,主机号