1. 程式人生 > >python語言程序設計-北京理工大學-嵩天等課件代碼整理

python語言程序設計-北京理工大學-嵩天等課件代碼整理

國內 效果 space 刷新 circle () hits 圓周率 lee

  1. #TempConvert.py
  2. TempStr = input("請輸入帶有符號的溫度值: ")
  3. if TempStr[-1] in [‘F‘, ‘f‘]:
  4. C = (eval(TempStr[0:-1]) - 32)/1.8
  5. print("轉換後的溫度是{:.2f}C".format(C))
  6. elif TempStr[-1] in [‘C‘, ‘c‘]:
  7. F = 1.8*eval(TempStr[0:-1]) + 32
  8. print("轉換後的溫度是{:.2f}F".format(F))
  9. else:
  10. print("輸入格式錯誤")
    1. #PythonDraw.py
    2. import turtle
    3. turtle.setup(650, 350, 200, 200)
    4. turtle.penup()
    5. turtle.fd(-250)
    6. turtle.pendown()
    7. turtle.pensize(25)
    8. turtle.pencolor("purple")
    9. turtle.seth(-40)
    10. for i in range(4):
    11. turtle.circle(40, 80)
    12. turtle.circle(-40, 80)
    13. turtle.circle(40, 80/2)
    14. turtle.fd(40)
    15. turtle.circle(16, 180)
    16. turtle.fd(40 * 2/3)
    17. turtle.done()
    • 天天向上的力量 第一問

      1. #DayDayUpQ1.py
      2. dayup = pow(1.001, 365)
      3. daydown = pow(0.999, 365)
      4. print("向上:{:.2f},向下:{:.2f}".format(dayup, daydown))

      天天向上的力量 第二問

      1. #DayDayUpQ2.py
      2. dayfactor = 0.005
      3. dayup = pow(1+dayfactor, 365)
      4. daydown = pow(1-dayfactor, 365)
      5. print("向上:{:.2f},向下:{:.2f}".format(dayup, daydown))

      天天向上的力量 第三問

      1. #DayDayUpQ3.py
      2. dayup = 1.0
      3. dayfactor = 0.01
      4. for i in range(365):
      5. if i % 7 in [6,0]:
      6. dayup = dayup*(1-dayfactor)
      7. else:
      8. dayup = dayup*(1+dayfactor)
      9. print("工作日的力量:{:.2f} ".format(dayup))

      天天向上的力量 第四問

      1. #DayDayUpQ4.py
      2. def dayUP(df):
      3. dayup = 1
      4. for i in range(365):
      5. if i % 7 in [6,0]:
      6. dayup = dayup*(1 - 0.01)
      7. else:
      8. dayup = dayup*(1 + df)
      9. return dayup
      10. dayfactor = 0.01
      11. while dayUP(dayfactor) < 37.78:
      12. dayfactor += 0.001
      13. print("工作日的努力參數是:{:.3f} ".format(dayfactor))

      文本進度條 簡單的開始

      1. #TextProBarV1.py
      2. import time
      3. scale = 10
      4. print("------執行開始------")
      5. for i in range(scale+1):
      6. a = ‘*‘ * i
      7. b = ‘.‘ * (scale - i)
      8. c = (i/scale)*100
      9. print("{:^3.0f}%[{}->{}]".format(c,a,b))
      10. time.sleep(0.1)
      11. print("------執行結束------")

      文本進度條 單行動態刷新

      1. #TextProBarV2.py
      2. import time
      3. for i in range(101):
      4. print("\r{:3}%".format(i), end="")
      5. time.sleep(0.1)

      文本進度條 實例完整效果

      1. #TextProBarV3.py
      2. import time
      3. scale = 50
      4. print("執行開始".center(scale//2, "-"))
      5. start = time.perf_counter()
      6. for i in range(scale+1):
      7. a = ‘*‘ * i
      8. b = ‘.‘ * (scale - i)
      9. c = (i/scale)*100
      10. dur = time.perf_counter() - start
      11. print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end=‘‘)
      12. time.sleep(0.1)
      13. print("\n"+"執行結束".center(scale//2,‘-‘))

      版本1

      1. #CalBMIv1.py
      2. height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: "))
      3. bmi = weight / pow(height, 2)
      4. print("BMI 數值為:{:.2f}".format(bmi))
      5. who = ""
      6. if bmi < 18.5:
      7. who = "偏瘦"
      8. elif 18.5 <= bmi < 25:
      9. who = "正常"
      10. elif 25 <= bmi < 30:
      11. who = "偏胖"
      12. else:
      13. who = "肥胖"
      14. print("BMI 指標為:國際‘{0}‘".format(who))

      版本2

      1. #CalBMIv2.py
      2. height, weight = eval(input("請輸入身高(米)和體重\(公斤)[逗號隔開]: "))
      3. bmi = weight / pow(height, 2)
      4. print("BMI 數值為:{:.2f}".format(bmi))
      5. nat = ""
      6. if bmi < 18.5:
      7. nat = "偏瘦"
      8. elif 18.5 <= bmi < 24:
      9. nat = "正常"
      10. elif 24 <= bmi < 28:
      11. nat = "偏胖"
      12. else:
      13. nat = "肥胖"
      14. print("BMI 指標為:國內‘{0}‘".format(nat))

      版本3

      1. #CalBMIv3.py
      2. height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: "))
      3. bmi = weight / pow(height, 2)
      4. print("BMI 數值為:{:.2f}".format(bmi))
      5. who, nat = "", ""
      6. if bmi < 18.5:
      7. who, nat = "偏瘦", "偏瘦"
      8. elif 18.5 <= bmi < 24:
      9. who, nat = "正常", "正常"
      10. elif 24 <= bmi < 25:
      11. who, nat = "正常", "偏胖"
      12. elif 25 <= bmi < 28:
      13. who, nat = "偏胖", "偏胖"
      14. elif 28 <= bmi < 30:
      15. who, nat = "偏胖", "肥胖"
      16. else:
      17. who, nat = "肥胖", "肥胖"
      18. print("BMI 指標為:國際‘{0}‘, 國內‘{1}‘".format(who, nat))

      公式法

      1. #CalPiV1.py
      2. pi = 0
      3. N = 100
      4. for k in range(N):
      5. pi += 1/pow(16,k)*( \
      6. 4/(8*k+1) - 2/(8*k+4) - \
      7. 1/(8*k+5) - 1/(8*k+6) )
      8. print("圓周率值是: {}".format(pi))

      蒙特卡羅方法

      1. #CalPiV2.py
      2. from random import random
      3. from time import perf_counter
      4. DARTS = 1000*1000
      5. hits = 0.0
      6. start = perf_counter()
      7. for i in range(1, DARTS+1):
      8. x, y = random(), random()
      9. dist = pow(x ** 2 + y ** 2, 0.5)
      10. if dist <= 1.0:
      11. hits = hits + 1
      12. pi = 4 * (hits/DARTS)
      13. print("圓周率值是: {}".format(pi))
      14. print("運行時間是: {:.5f}s".format(perf_counter() - start))

python語言程序設計-北京理工大學-嵩天等課件代碼整理