實驗與作業(Python)-03 Python程序實例解析(函數、循環、range、turtle)


截止日期:

要求:

  • 下周實驗課前上交,做好后在實驗課上檢查可獲取平時分。
  • 做出進階或選做的的請用清晰的標致標識出來,方便老師批改
  • 本次作業:可提交也可不提交。作業算平時成績。
  • 本次作業內容量較大,請組隊合作完成(每個隊2-3人)

實驗目標

  • 函數的定義與使用
  • 循環,for, range
  • 結合使用函數、循環與turtle繪制圖形

實驗內容

任務1.IPO及函數

TempStr = input("請輸入帶有符號的溫度值: ")
if TempStr[-1] in ['F','f']:
    C = (eval(TempStr[0:-1]) - 32)/1.8
    print("轉換后的溫度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
    F = 1.8*eval(TempStr[0:-1]) + 32
    print("轉換后的溫度是{:.2f}F".format(F))
else:
    print("輸入格式錯誤")

上面程序中,if..elif..else程序塊負責處理傳入的帶溫度標志的字符串並打印相應的提示信息,嘗試定義一個函數TempConvert(ValueStr)取代上面的if..elif..else程序塊。以后只需要調用TempConvert(ValueStr)函數,就可執行這段處理代碼:

def TempConvert(valueStr):
    #下面放置你的代碼
    if 輸入的的溫度是華氏:
        #轉換代碼
        return "轉換后的溫度是{:.2f}C".format(C) 
    #elif 輸入的溫度是攝氏度:
        #轉換代碼
        return "轉換后的溫度是{:.2f}F".format(F)
    else:
        return "輸入格式錯誤" 

#調用剛才定義的函數#調用剛才定義的函數
x = input("請輸入帶有符號的溫度值: ")
TempConvert(x) #並沒有輸出,為什么? 

任務2.range的使用

range代表范圍,可以產生一系列的整數。請看如下參考代碼:

for i in range(10):
    print(i)   #從幾開始輸出到幾?
for i in range(1,10):
    print(i)   #從幾開始輸出到幾?
for i in range(1,10,2):
    print(i)  #從幾開始輸出到幾?2是什么意思
for i in range(10,1, -1):
    print(i)  #從幾開始輸出到幾?-1是什么意思

嘗試完成如下題目:使用for e in range循環求得1到n之間所有奇數的和?
提示:加入變量temp暫存運行結果。
怎樣求得從1開始到n之間所有偶數的和?

作業1:

1.1 手寫或打印代碼,然后為每行加注釋。
1.2 嘗試使用for e in range循環,輸入n個人的成績,最后輸出n個人成績的平均值。

3.繪制等邊三角形。可指定參數(海龜初始角度、邊長、畫筆顏色),並用IPO分析該函數。

turtle可以用來繪圖,常見的turtle用法如下:

import turtle  #導入turtle,僅需導入1次
turtle.pensize(5)
turtle.fd(40)  #前進40
turtle.left(120) #轉向120度
turtle.fd(40)
turtle.penup() #筆抬起
turtle.fd(100)
turtle.pendown() #筆放下
turtle.fd(20)

3.1 繪制一個等邊三角形。注意:不要在循環里import turtle
3.2 定義一個繪制等邊三角形的函數。輸入參數:邊長。
3.3 改造2的函數。輸入參數:邊長、海龜初始方向、畫筆顏色。
3.4 從控制台動態輸入三角形的邊長進行繪制。注意:可使用eval()或float()函數。

4.繪制圓形

4.1 繪制一個圓。
4.2 定義函數繪制一個圓。輸入參數:半徑,海龜初始方向
4.3 使用循環調用上面2定義的函數繪制9個圓,會碰到什么問題?如何在此基礎上進行修改。實現本題要求。

作業2. 閱讀代碼

打印或手寫改題代碼,並總結自己是如何實現繪制同心圓?碰到什么問題?怎么解決?

5.特別考核:改造上次實驗的圓形生成器程序。可以根據自由輸入的n個r值,繪制n個圓。

6. 繪制出該六角形。


特別考核:使用畫兩個三角形的方式(調用前面的繪制三角形的函數),繪制出該六角形。

7. 繪制如下圖所示的正方形螺旋線


7.1 不用循環進行繪制。
7.2 考核:使用循環進行繪制。


免責聲明!

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



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