1. 程式人生 > >Python 第一周編程作業

Python 第一周編程作業

組合 如果 小數 浮點 執行 弧形 之間 保留 方法

一、 編程題

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("輸入格式有誤")

Python 第一周編程作業