1. 程式人生 > 其它 >20214201 實驗一 《Python程式設計》實驗報告

20214201 實驗一 《Python程式設計》實驗報告

20214201 2019-2020-2 《Python程式設計》實驗一報告

課程:《Python程式設計》
班級: 2142
姓名: 劉嘉銘
學號: 20214201
實驗教師:王志強
實驗日期:2022年3月17日
必修/選修: 公選課

1.實驗內容

1.熟悉Python開發環境;
2.練習Python執行、除錯技能;
3.編寫程式,練習變數和型別、字串、物件、縮排和註釋等;
4.掌握git技能。

2. 實驗過程及結果

1.熟悉Python開發環境;

a)安裝Python3環境
b)安裝PyCharm軟體
https://www.jetbrains.com/pycharm/download/#section=windows



成功啟動PyCharm編譯環境!

2.練習Python執行、除錯技能;

a)CMD執行、除錯
  • 執行

  • 除錯
    在Python互動環境中啟用除錯:在原始檔要進入除錯的地方輸入如下程式碼再執行即可:

    點選檢視程式碼
    1 import pdb
    2 pdb.set_trace()
    
b)IDLE執行、除錯
  • 執行
  • 除錯
    1. 在編譯器中想除錯的語句上增加或刪除斷點。在該語句上右鍵選擇Set Breakpoint, Clear Breakpoint
    2. 執行要除錯的檔案(Fn+F5),在出現的Shell視窗中,點選選單欄Debug欄中的Debugger,出現除錯控制視窗(如下圖)

      Go:跳至斷點
      Step:進入函式
      Over:單步執行
      Out:跳出函式
      Quit:結束除錯
      中間白色框內為正在執行的語句
      下部Locals
      為區域性變數值
c)PyCharm執行、除錯
  • 執行(Ctrl+Shift+F5)
  • 進入除錯模式
    • 方法一:
      輸入if __name__,PyCharm會自動識別並在左側行數欄中顯示綠色箭頭,右鍵綠色箭頭則可進入除錯模式。
    • 方法二:
      無程式碼空白處直接右鍵選擇“除錯”。
    • 方法三:
      在最上方選單欄出選擇“執行”欄中的“除錯”選項。
  • 斷點除錯
    點選行數欄右側位置出現紅點,並使整行紅色高亮顯示,即設定好斷點。

    使用除錯模式執行程式。

    對程式進行除錯操作,除錯完畢後現實如下畫面:

    其他斷點除錯相關操作與內容詳見參考資料的拓展。

3.編寫程式,練習變數和型別、字串、物件、縮排和註釋等;

(1)編寫程式

a)“Hello,World”:

點選檢視程式碼
print("Hello,World")

b)猜數遊戲(升級版)

點選檢視程式碼
import random
ans = random.randint(int(input("Left side of range:")),int(input("Right side of range:")))
bat = int(input("Input the times you want to try:"))
x = int(input("Please guess a number:"))
cnt = int(1)
for i in range(1,bat):
    if x == ans:
        print("You Win! The random number is ",ans)
        print("\n")
        print("You have tried",cnt)
        break
    if x<ans:
        print("Too Small")
        x = int(input("Please try again:"))
        print("Residue time: ",int(bat-i-1))
        cnt = cnt+1
        continue
    elif x>ans:
        print("Too large")
        x = int(input("Please try again:"))
        print("Residue time: ",int(bat-i-1))
        cnt = cnt+1
        continue
if cnt == bat:
    print("You lose!")
    print("The random number is: ",ans)
(2)變數和型別、物件

Python3中有六個標準的資料型別:
Number(數字)、String(字串)、Tuple(元組);
List(列表)、Set(集合)、Dictionary(字典)。
前三者為不可變資料,後三者為可變資料
可以使用type()和isinstance()函式來檢測資料型別。

  • Number(數字)
    含int(整數)、float(浮點數)、bool(布林數)、complex(複數)。
點選檢視程式碼
a = 1                # 整數
b = 1.1              # 浮點數
c = True             # 布林數
d = 1+1j             # 複數
print(type(a), type(b), type(c), type(d))

數值運演算法則
加法、減法、乘法、除法(整除)、取餘、乘方、位運算等。

點選檢視程式碼
x, y = 5, 2          # 賦值語句
print( x + y )       # 加法
print( x - y )       # 減法
print( x * y )       # 乘法
print( x / y )       # 除法(輸出浮點數)
print( x // y )      # 除法(輸出整數)
print( x % y )       # 取餘
print( x ** y )      # 乘方
print( x | y )       # 或運算
print( x & y )       # 與運算
print( x ^ y )       # 異或運算
(3)字串

儲存字元,儲存位從0位為首位,-1位末位。
如儲存一個str = 'ABCDEFG'字串,則str[0]='A',str[1]='B',str[-1]='G'。

點選檢視程式碼
str = 'Besti'
print (str)          # 輸出字串
print (str[0:-1])    # 輸出第一個到倒數第二個的所有字元
print (str[0])       # 輸出字串第一個字元
print (str[2:4])     # 輸出從第三個開始到第四個的字元
print (str[2:])      # 輸出從第三個開始的後的所有字元
print (str * 2)      # 輸出字串兩次,也可以寫成 print (2 * str)
print (str + "UPUP") # 連線字串
(4)序列
a)列表List

序列是 Python 中最基本的資料結構。
序列中的每個值都有對應的位置值,稱之為索引,第一個索引是 0,第二個索引是 1,依此類推。

點選檢視程式碼
# 列表
list1 = ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'day']
# 訪問列表
print(list1[0])
print(list1[-1])
print(list1[0:2])
# 遍歷列表
for i in list1:
    print(i)
# 修改列表
print("原來第四個元素:",list1[3])
list1[3] = 'Thursday'
print("現在第四個元素:",list1[3])
# 刪除列表某個元素
print("原始列表:",list1)
del list1[4]
print("現在列表:",list1)
# 更新列表
list1.append('Friday')
print("更新後列表",list1)
b)元組

Python 的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括號 ( ),列表使用方括號 [ ]。

點選檢視程式碼
# 定義元組(可以為空元組)
tup1 = (1,2,3,4,5)
tup2 = (1,6,7)
tup3 = ()
# 訪問元組
print(tup1[1])
# 遍歷元組
for i in tup1:
    print(i)
# 修改元組
tup3 = tup1 + tup2
# 刪除元組
del tup3
c)字典

字典是另一種可變容器模型,且可儲存任意型別物件。
字典的每個鍵值 key=>value 對用冒號 : 分割,每個對之間用逗號(,)分割,整個字典包括在花括號 {} 中

點選檢視程式碼
# 定義字典
dic = {'name':'ljm', 'number':20214201, 'test':123}
# 列印字典
print(dic)
# 訪問字典
print(dic['number'])
# 修改字典
dic['test'] = 456
# 刪除字典(元素)
del dic['test']
print(dic)
# 清空字典
dic.clear()
print(dic)
d)集合

集合(set)是一個無序的不重複元素序列。
可以使用大括號 { } 或者 set() 函式建立集合。

點選檢視程式碼
# 定義集合
set1 = {1,2,3,4,5}
set2 = {1,3,5,7,9}
set3 = {0,2,4,6}
# 列印集合
print("列印set1:",set1)
print("列印set2:",set2)
print("列印set3:",set3)
# 修改集合
set3.add(8)
print("列印set3:",set3)
# 刪除集合
set2.remove(9)
print("列印set2",set2)
# 計算集合元素個數
print("計算set1元素個數",len(set1))
# 判斷某元素是否在集合內
if 1 in set3:
    print("1在set3")
else:
    print("1不在set3")
# 集合之間的關係
print("set1-set2:",(set1-set2))
print("set1&set2:",(set1&set2))
print("set1|set2:",(set1|set2))
print("set1^set2:",(set1^set2))
(5)縮排和註釋

上文程式碼中包含了縮排和註釋的相關內容。
縮排:使程式碼更加富有邏輯性、美觀性、易讀性。
註釋:便於自己和他人閱讀程式碼時瞭解該行(段)程式碼的作用。

4.掌握git技能。

通過將PyCharm的程式碼推送到Gitee上實現程式碼開源、雲儲存、雲協作等操作。

  • 新建倉庫

  • 配置倉庫檔案

  • 配置Git環境(初始化)

  • 在PyCharm中配置Git和Gitee環境

  • 提交併推送檔案

由於在配置時出現了一些問題,經過修改後得以解決,將倉庫名和檔名進行了更改,但不影響檔案上傳和修改。

3. 實驗過程中遇到的問題和解決過程

  • 問題1:PyCharm未啟用

  • 問題1解決方案:通過萬能的網路搜尋啟用碼輸入啟用碼後進行啟用。

  • 問題2:Git檔案提交選項灰色,無法選擇提交

  • 問題2解決方案:新建專案後問題得以解決。目測是在配置檔案時,上傳Github與Gitee發生了矛盾。

  • 問題3:Git檔案提交後,Gitee碼雲倉庫不顯示

  • 問題3解決方案:目測是上傳到了Github中。在設定中的外掛欄裡搜尋Gitee安裝Gitee外掛,重啟PyCharm,在外掛裡登入Gitee賬號。在Gitee網站上安裝SHH公鑰。在PyCharm最上方選單選項欄中選擇VCS(GIT),Gitee,Share Project on Gitee,新建倉庫後,選擇上傳檔案,提交檔案,推送檔案。

其他(感悟、思考等)

由於本人具有淺薄的程式設計基礎(C++),對於理解上述Python基本概念上並無太大障礙,唯一遇到困難的就是配置gitee環境時的相關問題(已解決)。
Python相對於C++的語法更加簡單,並且序列的四個型別簡化了變數的儲存方式,便於程式更高效的執行。
(若精力有限將更新Pyhton與C++部分基本語法的對比)

Gitee碼雲倉庫連結:實驗一

參考資料