1. 程式人生 > 其它 >20213324 萬庭旭 實驗四 Python綜合實踐

20213324 萬庭旭 實驗四 Python綜合實踐

學號20213324《python程式設計》實驗四報告
課程:《Python程式設計》
班級:2133
姓名:萬庭旭
學號:20213324
實驗教師:王志強
實驗日期:2022年5月19日
必修/選修: 公選課

1.實驗內容
Python綜合應用:爬蟲、資料處理、視覺化、機器學習、神經網路、遊戲、網路安全等。
2.實驗要求
在華為ECS伺服器(OpenOuler系統)和物理機(Windows/Linux系統)上使用VIM、PDB、IDLE、Pycharm等工具程式設計實現。
3.實驗程式過程
3.1簡單猜拳小遊戲

遊戲目標:電腦隨機出拳,我們直接選擇出什麼

小遊戲可以拆解為:雙方出拳→雙方亮拳(列印一下)→判斷勝負
3.1.1雙方出拳

我們要讓雙方選擇出拳,才能判斷勝負。

我們可以設定變數computer_choice代表電腦的出拳選擇,設定變數user_choice代表自己的出拳選擇。

電腦的出拳,我們可以使用random.choice()來隨機選擇;我們的出拳,可以手動輸入我們出拳的型別。

•判斷下輸入:當輸入的內容不是石頭剪刀布時,電腦會提醒'輸入有誤,請重新出拳'。
•判斷的語句為:while a not in list1,即當元素 a 不在列表 list1。

試執行:
第一種結果:

第二種結果:

3.1.2雙方亮拳

自己和電腦已經對要出的拳進行了選擇,接下來,我們需要知道雙方的出拳型別。

使用print()函式補充亮拳的結果。

試執行

3.1.3判斷勝負

在前面兩步,電腦和你已經選擇完出拳的型別並亮拳後,只差最後一步:根據結果判斷勝負。

• 兩方出拳一致:平局

• 你出石頭,電腦出剪刀;你出剪刀,電腦出布;你出布,電腦出石頭:你獲勝;

• 其他情況:你輸了。

試執行

3.1.4加入迴圈

最終程式碼:在外部加了一個while……迴圈,只要不讓它結束,就可以一直玩下去。

試執行

4.在華為esc伺服器上執行
4.1.1通過WinSCP上傳檔案到ECS伺服器

4.1.2通過PuTTY執行程式
執行結果:

5.原始碼
`import random

#出拳
while True:
punches = ['石頭','剪刀','布']
computer_choice = random.choice(punches)
user_choice = ''
user_choice = input('請出拳:(石頭,剪刀,布)') #請玩家輸入選擇
while user_choice not in punches:  # 當玩家輸入錯誤,提示錯誤,重新輸入
    print('輸入有誤,請重新出拳')
    user_choice = input()

# 亮拳
print('——戰鬥過程——')
print('電腦出了:%s' % computer_choice)
print('你出了:%s'% user_choice)

# 勝負
print('——結果——')
if user_choice == computer_choice:  #使用if進行條件判斷
    print('平局!')
elif (user_choice == '石頭' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布')or (user_choice == '布' and computer_choice == '石頭'):
    print('你贏了!')
else:
    print('你輸了!')

a1 = input('要繼續遊戲嗎,請輸入n退出,輸入其他繼續:')
if a1 == 'n':
    print('\n【結束遊戲】')
    break

`
6.實驗中遇到的問題與解決方案
1.剛開始不知道怎樣在putty上執行程式碼
解決方案:百度搜索相關方法
7.全課課程總結
在選課前就瞭解到python是一門非常強大有潛力的高階語言,經過多年發展,越來越受歡迎,在程式設計上發揮著越來越大的作用,相比於C語言更加簡潔,使用起來更加方便,於是吸引我選擇了這門課。不知不覺課程已經接近尾聲,但是說實話,自己沒有學到太多東西,並不是自己天賦問題,也不是老師的教學有問題,相反,老師講的很好,只是因為自己過於慵懶。當自己沉靜下來仔細去鑽研時,才發現Python除了煩人的語法,改不完的Bug,還有成功編譯出屬於自己的程式的那份喜悅,希望自己能更熟練地去掌握運用它。選修課雖然結束了,但程式設計還有很長的路要走。學習程式設計不是一日之功,需要每天投入時間學習,也不可紙上談兵,需要自己親手操作,不動手就不會發現問題,動手之後印象才會更深刻。最後感謝王志強老師的教學,祝老師的課越來越好!