<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      翻譯:《實用的Python編程》01_03_Numbers

      目錄 | 上一節 (1.2 第一個程序) | 下一節 (1.4 字符串)

      1.3 數字

      本節討論數學計算。

      數字類型

      Python 有 4 種類型的數字:

      • 布爾型
      • 整型
      • 浮點型
      • 復數(虛數)

      布爾型(bool)

      布爾型數字有兩個值:True,False

      a = True
      b = False
      

      在數值上,它們被計算成值為 1,0 的數。

      c = 4 + True # 5
      d = False
      if d == 0:
          print('d is False')
      

      但是,不要像上面這樣寫代碼,這會很奇怪。

      整型(int)

      任意大小的有符號值,或者以任意數為基數的有符號值。

      a = 37
      b = -299392993727716627377128481812241231
      c = 0x7fa8      # Hexadecimal
      d = 0o253       # Octal
      e = 0b10001111  # Binary
      

      常用操作:

      x + y      Add
      x - y      Subtract
      x * y      Multiply
      x / y      Divide (produces a float)
      x // y     Floor Divide (produces an integer)
      x % y      Modulo (remainder)
      x ** y     Power
      x << n     Bit shift left
      x >> n     Bit shift right
      x & y      Bit-wise AND
      x | y      Bit-wise OR
      x ^ y      Bit-wise XOR
      ~x         Bit-wise NOT
      abs(x)     Absolute value
      

      浮點型(float)

      使用十進制或者指數表示法來指定浮點數的值:

      a = 37.45
      b = 4e5 # 4 x 10**5 or 400,000
      c = -1.345e-10
      

      使用浮點數表示 IEEE 754 標準的雙精度。這與 C 語言中的 double 類型相同。

      17 digits of precision
      Exponent from -308 to 308

      請注意,當代表小數時,浮點數是不精確的。

      >>> a = 2.1 + 4.2
      >>> a == 6.3
      False
      >>> a
      6.300000000000001
      >>>
      

      這不是 Python 的問題,而是 CPU 硬件上底層浮點硬件的問題。

      常用操作:

      x + y      Add
      x - y      Subtract
      x * y      Multiply
      x / y      Divide
      x // y     Floor Divide
      x % y      Modulo
      x ** y     Power
      abs(x)     Absolute Value
      

      除了按位運算符之外,浮點數的運算符與整數的運算符是一樣的。

      其它數學函數可以在 math 中找到。

      import math
      a = math.sqrt(x)
      b = math.sin(x)
      c = math.cos(x)
      d = math.tan(x)
      e = math.log(x)
      

      比較

      下面的比較/關系運算符可以應用于數字:

      x < y      Less than
      x <= y     Less than or equal
      x > y      Greater than
      x >= y     Greater than or equal
      x == y     Equal to
      x != y     Not equal to
      

      可以使用 and, ornot 組成更復雜的布爾表達式。

      這里有一些例子:

      if b >= a and b <= c:
          print('b is between a and c')
      
      if not (b < a or b > c):
          print('b is still between a and c')
      

      轉換數字

      類型名可以被用來將其它數據轉換為數字。

      a = int(x)    # Convert x to integer
      b = float(x)  # Convert x to float
      

      試試下面這些操作:

      >>> a = 3.14159
      >>> int(a)
      3
      >>> b = '3.14159' # It also works with strings containing numbers
      >>> float(b)
      3.14159
      >>>
      

      習題

      提醒:這些習題假定你正在 practical-python/Work 目錄中操作,具體在 mortgage.py 文件。

      習題 1.7:戴夫的抵押貸款

      戴夫決定從 Guido 的抵押貸款、股票投資和比特幣交易公司獲得 50 萬美元的 30 年期固定利率抵押貸款。利率是 5%,每月還款額是 2684.11 美元。

      下面這個程序用于計算戴夫在抵押期內需要支付的總金額:

      # mortgage.py
      
      principal = 500000.0
      rate = 0.05
      payment = 2684.11
      total_paid = 0.0
      
      while principal > 0:
          principal = principal * (1+rate/12) - payment
          total_paid = total_paid + payment
      
      print('Total paid', total_paid)
      

      輸入該程序并執行,你應該會得到答案為 966,279.6。

      習題 1.8:額外付款

      假設戴夫在抵押期的前 12 個月每月額外支付 1000 美元。

      修改程序以包含這部分額外的付款,并且輸出已支付的總金額以及所需的月數。

      當你執行這個新程序時,它應該報告 342 個月的總付款額是 929,965.62 。

      習題 1.9:制作一個額外的付款計算器

      修改程序,以便可以更一般的處理額外的付款信息。做到這一點,以便用戶可以設置下面這些變量:

      extra_payment_start_month = 61
      extra_payment_end_month = 108
      extra_payment = 1000
      

      使程序查看這些變量,并適當地計算總付款額 。如果戴夫從抵押期的第五年開始,每月額外支付 1000 每月并支付 4 年,那么他將要支付多少?

      習題 1.10:制作表格

      修改程序,使其顯示迄今為止支付的月數,支付的總金額和剩余的本金。輸出看起來應該像下面這樣:

      1 2684.11 499399.22
      2 5368.22 498795.94
      3 8052.33 498190.15
      4 10736.44 497581.83
      5 13420.55 496970.98
      ...
      308 874705.88 3478.83
      309 877389.99 809.21
      310 880074.1 -1871.53
      Total paid 880074.1
      Months 310
      

      習題 1.11:獎金

      使用該程序時,請修復程序以糾正發生在上個月的超額支付。

      習題 1.12:一個謎

      int() 函數和 float() 函數可以將其它類型的數據轉換為數字類型。示例:

      >>> int("123")
      123
      >>> float("1.23")
      1.23
      >>>
      

      考慮到這一點,你能否解釋下面這種行為?

      >>> bool("False")
      True
      >>>
      

      目錄 | 上一節 (1.2 第一個程序) | 下一節 (1.4 字符串)

      注:完整翻譯見 https://github.com/codists/practical-python-zh

      posted @ 2021-02-15 22:20  codists  閱讀(304)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品国产亚洲第一区二区三区| 加勒比无码人妻东京热| 闵行区| 亚洲第一天堂无码专区| 国产成人午夜福利精品| 成人无码精品免费视频在线观看 | 国产成人亚洲无码淙合青草| 又湿又紧又大又爽A视频男| 蜜桃av无码免费看永久| 久久天天躁夜夜躁狠狠85| 精品人妻伦九区久久aaa片69| 国产视频 视频一区二区| 蜜桃视频一区二区三区四| 成人午夜在线观看日韩| 亚洲青青草视频在线播放| 亚洲综合av男人的天堂| 精品中文字幕一区在线| 熟女一区二区中文字幕| 亚洲精品无码久久毛片| 国产成人啪精品午夜网站| 黄瓜视频在线观看| 农民人伦一区二区三区| 国产成人精品中文字幕| 欧美人禽杂交狂配| 国产精品户外野外| 国产精品一区二区三区91| 99久久精品免费看国产电影| 99热精品毛片全部国产无缓冲| 麻豆tv入口在线看| 台湾佬自拍偷区亚洲综合| 91福利视频一区二区| 中文字幕在线无码一区二区三区| 强伦姧人妻免费无码电影| 国产精品成人久久电影| 少妇人妻偷人精品无码视频| 亚洲av日韩av中文高清性色| 亚洲国产午夜精品福利| 亚洲精品综合网在线8050影院| 亚洲色欲或者高潮影院| 免费无码黄网站在线观看| 色婷婷欧美在线播放内射|