剛學的python,練習的代碼

来源:http://www.cnblogs.com/Chai-zz/archive/2017/12/07/8000628.html
-Advertisement-
Play Games

1 # coding:utf-8 2 import os 3 # 聲明一個空列表存儲學員的姓名 4 member_list = [] 5 # 讀取本地文件生數據,將本地數據添加至member_list 中 即可沒保證第二次運行member_list 6 if os.path.exists('stud... ...


  1 # coding:utf-8
  2 import os
  3  # 聲明一個空列表存儲學員的姓名  
  4 member_list = []
  5 # 讀取本地文件生數據,將本地數據添加至member_list 中 即可沒保證第二次運行member_list
  6 if os.path.exists('student.txt'):
  7     file_test = open('student.txt','r')
  8     name_list = file_test.readlines()
  9     # 將name_list 中的姓名進行處理,去除姓名中的\n
 10     for name in name_list:
 11         res = name.strip('\n')
 12         # 將處理完成的姓名添加至member-list
 13         member_list.append(res)
 14     file_test.close()
 15 else:
 16     print '文件不存在!'
 17 while 1:
 18     print"""
 19       1.添加學員姓名
 20       2.修改學員姓名
 21       3.查詢學員姓名
 22       4.刪除學員姓名
 23       0.退出程式
 24       """
 25     select_operation = input('請輸入操作編號')
 26     # 迴圈判斷輸入的編號是否存在
 27     while select_operation<0 or select_operation>4:
 28         select_operation = input('編號不存在,請輸入操作編號')
 29     # 判斷每一種編號,設置相應的邏輯
 30     if select_operation == 1:
 31         # 添加操作
 32         member_name = raw_input('請輸入學員姓名:')
 33         # 將姓名添加到列表中
 34         member_list.append(member_name)
 35         print '-----添加成功 \n'
 36     elif select_operation == 2:
 37         # 修改學員姓名
 38         # 先查詢所有的學員姓名,然後給每一個學員設置編號,方便修改
 39         for x in xrange(0,len(member_list)):
 40             # 先以x為索引去除列表的每一個值,
 41             name= member_list[x]
 42             print x+1,' .',name
 43             # 獲取輸入的學員編號,因為要根據編號修改學員姓名信息. 
 44         select_number = input('請輸入要修改的學員編號:')
 45             # 迴圈檢測編號是否正確
 46         while select_number < 1 or select_number>len(member_list):
 47             select_number = input('學員編號不存在,重新輸入:')
 48                 # 根據獲取的編號修改列表的數據
 49                 # 獲取控制台輸入的新的學員姓名
 50         new_name = raw_input('請輸入修改後的姓名:')
 51         member_list[select_number-1] = new_name
 52         print '數據修改成功!n'
 53     elif select_operation == 3:
 54         print '1-根據學員編號查詢信息'
 55         print '2-查詢所有學員'
 56         select_number = input('請選擇查詢操作:')
 57         while select_number != 1 and select_number !=2 :
 58             select_number = input('請重新選擇查詢操作:')
 59         if select_number ==1:
 60             number = input('請輸入查詢編號:')
 61             while number < 1 or number>len(member_list):
 62                 number = input('學員編號不存在,重新輸入:')
 63             print member_list[number-1]
 64         else:
 65             for x in xrange(0,len(member_list)):
 66                 # 先以x為索引去除列表的每一個值,
 67                 name= member_list[x]
 68                 print x+1,' .',name           
 69     elif select_operation == 4:
 70         print '1-根據序號刪除'
 71         print '2-根據姓名刪除'
 72         print '3-刪除所有學員'
 73         number = input('選擇刪除操作:')
 74         while number != 1 and number != 2 and number != 3 :
 75             number = input('選擇正確的刪除操作:')
 76         if number ==1:
 77             num = input('請輸入學員序號: ')
 78             while num<0 or num>len(member_list):
 79                 num = input('請輸正確的入學員序號: ')                   
 80             member_list.pop(num)
 81             print '刪除成功\n'
 82         elif number  == 2:
 83             name = raw_input('請輸入姓名:')
 84             # 判斷名字是否在在列表中,不存在返回true 整體成立,如果存在則返回flase 條件為假
 85             while name not in member_list:
 86                 name = raw_input('名字不存在,重新輸入:')
 87             member_list.remove(name)
 88             print '刪除成功\n'
 89         else:
 90             while len(member_list):
 91                 del member_list[0]
 92             print '刪除成功\n'
 93     else:
 94         # 退出
 95         break
 96     #因為 member_list列表在進行增刪改查之後,保存的數據都是最新的數據,直接將列表的所有數據全部寫到本地文件中.
 97     file_test = open('student.txt','w')
 98     for x in xrange(0,len(member_list)):
 99         name = member_list[x]
100         # 取出姓名之後,每迴圈一次,將取出的姓名寫入到本地。
101         file_test.write(name)
102         file_test.write('\n')
103     # 關閉文件
104     file_test.close()

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 補充聊天項目功能,做如下需求分析: 梳理項目開發所需的必要Java知識基礎 GUI將使用更快速的swt實現 SWT(Standard Widget Toolkit) Standard Widget Toolkit是一個開源的GUI編程框架,與AWT/Swing有相似的用處,著名的開源IDE-ecli ...
  • ArrayList和LinkedList是常用的兩種存儲結構,那麼它們有哪些區別呢?這裡簡單給出一部分。 1、ArrayList和LinkedList可想從名字分析,它們一個是Array(動態數組)的數據結構,一個是Link(鏈表)的數據結構,此外,它們兩個都是對List介面的實現。 前者是數組隊列 ...
  • CURL是一個非常強大的開源庫,支持很多協議,包括HTTP、FTP、TELNET等,我們使用它來發送HTTP請求。它給我 們帶來的好處是可以通過靈活的選項設置不同的HTTP協議參數,並且支持HTTPS。CURL可以根據URL首碼是“HTTP” 還是“HTTPS”自動選擇是否加密發送內容。 使用CUR ...
  • ODBC DataSource添加Access資料庫 Java JDBC訪問Access資料庫 以下為封裝好的DBApplication類 ...
  • foreach遍歷查詢mysql中的tinyint欄位時一直查都是各種0,false,null 發現原來是實體類中的變數名和mysql中的列名不一樣出的bug 所以說列名和實體類中的相關變數名是要保持一致的。 ...
  • 牛刀小試,MMP;嘿嘿,如有轉載,請聲明地址http://www.cnblogs.com/jinmoon/; 圖形類,點類,三角形類,汽車類,介面;運用繼承,抽象類,介面,多態;已知點類三點,輸出三點;三角形類周長,面積;汽車標誌; public class Test { public static ...
  • (自己的筆記)以一個Admin類作為說明1.首先@Entity 註解將一個類聲明為實體Bean@Table 映射數句庫表2.創建表的主鍵@Id用來註冊主屬性@GeneratedValue來說明主鍵的自增長3.創建列@Column 註解將屬性映射到列@Column( name="columnName"... ...
  • 首先我們要知道if的意思,if是如果的意思,那麼有如果就一定會有否則,那麼else就來了。 然後就是if的後面有一個()是英文的括弧,然後括弧裡面是條件,然後大括弧最後裡面是判斷的事情,以及不成立的時候所得的結果。如下圖: if(condition){ } if(condition){ }else{ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...