Python 第一週程式設計作業

那是個好男孩發表於2018-09-12

一、  程式設計題

1、  結合turtle庫使用手冊,讀懂下列程式碼,並在jupyter編譯器中執行觀察結果:

 

依次分析下程式碼:

第一行 通過保留字import引用了Python中用於繪製圖形的turtle庫,as是作為別名之用。

(使用import引用函式庫有兩種方式,但其對函式的使用方式略有不同 import <庫名>  | from <庫名> import *)

第二行 使用了turtle.setup()函式.turtle。setup(width,height,startx,starty).作用:設定主窗體的大小和位置。

    引數如下:width:視窗寬度,如果值為整數,表示畫素值,如果為小數,表示視窗寬度與螢幕的比例。

        height:視窗高度,如果值為整數,表示畫素值,如果為小數,表示視窗高度與螢幕的比例。

        startx:視窗左側與螢幕左側的畫素距離,如果值為None,視窗位於螢幕水平中央。

        starty:視窗頂部與螢幕頂部的畫素距離,如果值為None,視窗位於螢幕垂直中央。

第三行

第四行 使用了turtle.penup()和turtle.pendown()函式.它們分別表示抬起畫筆和落下畫筆。

     turtle.penup()

     別名 turtle.pu(),turtle.up()

     作用:抬起畫筆,之後移動畫筆不繪製形狀。 引數:無

     turtle.pendown()

     別名 turtle.pd(),turtle.down()

     作用:落下畫筆,之後移動畫筆將繪製形狀。 引數:無

第五行  使用了turtle.pensize()函式.用於設定畫筆尺寸.

     turtle.pensize(width)

     別名 turtle.width()

     作用:設定畫筆寬度,當無引數輸入時返回當前畫筆寬度。

     引數如下:

     width:設定的畫筆線條寬度,如果為None或者為空,則函式返回當前畫筆寬度。

第六行  使用了turtle.color()函式.用於給畫筆設定顏色。可以用英文名,也可以採用(r,g,b)形式直接輸入顏色值。

第九行  使用了turtle.circle()函式.用來繪製一個弧形.

第十一行  使用了turtle.done()函式.用來停止畫筆繪製,但繪圖窗體不關閉.沒有引數.

   

2、  垂直輸出“Hello World”,所有程式碼不超過兩行。

 

3、  編寫一個程式,計算輸入數字N的0次方到5次方結果,並依次輸出這6個結果,輸出結果間用空格分隔。其中:N是一個整數或浮點數。

 

4、  溫度轉換: 請編寫程式將使用者輸入華氏度轉換為攝氏度,或將輸入的攝氏度轉換為華氏度。轉換演算法如下:(C表示攝氏度、F表示華氏度)

                    C = ( F - 32 ) / 1.8

                    F = C * 1.8 + 32

要求如下:

(1) 輸入輸出的攝氏度採用大寫字母C開頭,溫度可以是整數或小數,如:C12.34指攝氏度12.34度;

(2) 輸入輸出的華氏度採用大寫字母F開頭,溫度可以是整數或小數,如:F87.65指攝氏度87.65度;

(3) 不考慮異常輸入的問題,輸出保留小數點後兩位;

(4) 使用input()獲得測試用例輸入時,不要增加提示字串。

 

5、貨幣轉換:

人民幣和美元是世界上通用的兩種貨幣之一,寫一個程式進行貨幣間幣值轉換,其中:

人民幣和美元間匯率固定為:1美元 = 6.78人民幣。

程式可以接受人民幣或美元輸入,轉換為美元或人民幣輸出。人民幣採用RMB表示,美元USD表示,符號和數值之間沒有空格。

注意: 獲得輸入請使用input() 

#第二題
for each in "Hello World":
      print(each)

print("以下為第二種解法")

print("\n".join("Hello World"))

print("---------------")

#第三題
num = eval(input("請輸入一個數字:"))
#如果使用者希望輸入一個數字(小數或負數),並用程式對這個數字進行計算,可以採用eval(input(<輸入提示字串>))的組合.
#eval()的作用是將輸入的字串轉變為Pyhon語句,並執行該語句。
#在這裡是將使用者輸入的字串轉換為數字
for each in range(6):
    print(num**each,end=" ")


print()
print("---------------")

#第四題
while 1:
      TempStr = input("請輸入帶有符號(F/f/C/c)的溫度值:")
      #輸出純字元資訊,可以直接將待輸入內容傳遞給input函式.
      if TempStr[-1] in ['F','f']:
            C = (eval(TempStr[0:-1])-32)/1.8
            print("轉換後的溫度是{:.2f}C".format(C))
            #當輸出變數值時,需採用格式化輸出方式,通過format()方法將待輸出變數整理成期望輸出的格式.
            #這裡print()函式採用槽格式和format()方法將變數和字串結合在一起輸出。
            break
      elif TempStr[-1] in ['C','c']:
            F = 1.8*eval(TempStr[0:-1])+32
            print("轉換後的溫度是{:.2f}F".format(F))
            #大括號{}表示一個槽的位置,其中內容有字串後面緊跟的format()方法中的引數C填充
            #大括號{:.2f}中的內容表示變數C的輸出格式,具體表示輸出數值取兩位小數值.
            break
      else:
            print("輸入格式有誤!",end="")


print()
print("---------------")

#第五題
money = input("請輸入帶符號的貨幣值(RMB/USD):")
if money[-3:] == "USD":
      U = eval(money[0:-3])*6.78
      print("轉換後的貨幣值為:{:.2f}RMB".format(U))
elif money[-3:] == "RMB":
      R = eval(money[0:-3])/6.78
      print("轉換後的貨幣值為:{:.2f}USD".format(R))
else:
      print("輸入格式有誤")

 

相關文章