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

image
image
成功啟動PyCharm編譯環境!

2.練習Python運行、調試技能;

a)CMD運行、調試
  • 運行
    image
    image

  • 調試
    在Python交互環境中啟用調試:在源文件要進入調試的地方輸入如下代碼再運行即可:

    點擊查看代碼
    1 import pdb
    2 pdb.set_trace()
    
b)IDLE運行、調試
  • 運行
    image
  • 調試
    1. 在編譯器中想調試的語句上增加或刪除斷點。在該語句上右鍵選擇Set Breakpoint, Clear Breakpoint
    2. 運行要調試的文件(Fn+F5),在出現的Shell窗口中,點擊菜單欄Debug欄中的Debugger,出現調試控制窗口(如下圖)
      image
      Go:跳至斷點
      Step:進入函數
      Over:單步執行
      Out:跳出函數
      Quit:結束調試
      中間白色框內為正在執行的語句
      下部Locals為局部變量值
c)PyCharm運行、調試
  • 運行(Ctrl+Shift+F5)
    image
  • 進入調試模式
    • 方法一:
      輸入if __name__,PyCharm會自動識別並在左側行數欄中顯示綠色箭頭,右鍵綠色箭頭則可進入調試模式。
      image
    • 方法二:
      無代碼空白處直接右鍵選擇“調試”。
    • 方法三:
      在最上方菜單欄出選擇“運行”欄中的“調試”選項。
  • 斷點調試
    點擊行數欄右側位置出現紅點,並使整行紅色高亮顯示,即設置好斷點。
    image
    使用調試模式運行程序。
    image
    對程序進行調試操作,調試完畢后現實如下畫面:
    image
    其他斷點調試相關操作與內容詳見參考資料的拓展。

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上實現代碼開源、雲儲存、雲協作等操作。

  • 新建倉庫
    image

  • 配置倉庫文件
    image

  • 配置Git環境(初始化)
    image

  • 在PyCharm中配置Git和Gitee環境
    image

    image

    image

    image

    image

  • 提交並推送文件
    image

    image

    image

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

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碼雲倉庫鏈接:實驗一

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM