python第二章習題
TempConvert.py
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("輸入格式錯誤")
#2.1
獲取溫度值(使用 eval(input()))
temp_value = eval(input("請輸入溫度值: "))
獲取溫度單位
unit = input("請輸入溫度單位(C 或 F): ")
溫度轉換邏輯
if unit in ['F', 'f']:
C = int((temp_value - 32) / 1.8) # 轉換為整數
print("轉化后的溫度是{}C".format(C))
elif unit in ['C', 'c']:
F = int(1.8 * temp_value + 32) # 轉換為整數
print("轉換后的溫度是{}F".format(F))
else:
print("輸入格式錯誤")
#2.2匯率兌換
# 獲取金額(使用 eval(input()))
amount = eval(input("請輸入金額: "))
獲取貨幣單位
currency = input("請輸入貨幣單位(USD 或 CNY): ")
匯率
exchange_rate = 6 # 1美元 = 6人民幣
貨幣兌換邏輯
if currency in ['USD', 'usd']:
# 美元兌換人民幣
cny_amount = int(amount * exchange_rate) # 轉換為整數
print("兌換后的人民幣金額是{}CNY".format(cny_amount))
elif currency in ['CNY', 'cny']:
# 人民幣兌換美元
usd_amount = int(amount / exchange_rate) # 轉換為整數
print("兌換后的美元金額是{}USD".format(usd_amount))
else:
print("輸入格式錯誤")
#2.3重量轉換
獲取重量值和單位
WeightStr = input("請輸入帶有符號的重量值(例如 100kg 或 220lb): ")
重量轉換邏輯
if WeightStr[-2:].lower() == 'kg': # 檢查單位是否為千克
# 提取重量部分并轉換為浮點數
weight_value = float(WeightStr[:-2])
# 千克轉換為磅
lb_weight = weight_value * 2.2046
print("轉換后的重量是{:.2f}磅".format(lb_weight))
elif WeightStr[-2:].lower() == 'lb': # 檢查單位是否為磅
# 提取重量部分并轉換為浮點數
weight_value = float(WeightStr[:-2])
# 磅轉換為千克
kg_weight = weight_value / 2.2046
print("轉換后的重量是{:.2f}千克".format(kg_weight))
else:
print("輸入格式錯誤")
2.4
import turtle
設置窗口
window = turtle.Screen()
window.bgcolor("white")
創建畫筆
pen = turtle.Turtle()
pen.speed(10) # 設置繪制速度
pen.pensize(20) # 設置畫筆粗細
定義顏色列表
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
繪制彩色蟒蛇
def draw_colorful_snake(segments):
for i in range(segments):
pen.color(colors[i % len(colors)]) # 循環使用顏色列表
pen.forward(50) # 向前移動
pen.right(90) # 右轉90度
調用繪制函數
draw_colorful_snake(36) # 繪制36段蟒蛇
結束繪制
pen.hideturtle()
window.mainloop()
2.5
import turtle
創建turtle對象
t = turtle.Turtle()
繪制等邊三角形
for _ in range(3):
t.fd(100) # 前進100個單位長度
t.seth(t.heading() + 120) # 改變方向,每次旋轉120度
turtle.done()
2.6
import turtle
t = turtle.Turtle()
繪制外面的大等邊三角形
for _ in range(3):
t.fd(100)
t.seth(t.heading() + 120)
移動到合適位置繪制里面的小等邊三角形
t.penup()
t.goto(50, 0)
t.pendown()
for _ in range(3):
t.fd(50)
t.seth(t.heading() + 120)
turtle.done()
2.7
import turtle
t = turtle.Turtle()
繪制第一個三角形
for _ in range(3):
t.fd(100)
t.seth(t.heading() + 120)
旋轉并繪制第二個三角形
t.seth(60)
for _ in range(3):
t.fd(100)
t.seth(t.heading() + 120)
turtle.done()
2.8
import turtle
t = turtle.Turtle()
length = 10
for i in range(50):
t.fd(length)
t.right(90)
length += 5 # 每次邊長增加5個單位長度
turtle.done()

浙公網安備 33010602011771號