欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python算法輸出1-9數組形成的結果為100的所有運算式

 更新時間:2017年11月03日 10:41:18   作者:wkcagd  
這篇文章主要介紹了Python算法輸出1-9數組形成的結果為100的所有運算式,然后介紹了另外一個相關實例,具體內容請參閱正文,需要的朋友可以參考下。

問題:

編寫一個在1,2,…,9(順序不能變)數字之間插入+或-或什么都不插入,使得計算結果總是100的程序,并輸出所有的可能性。例如:1 + 2 + 34–5 + 67–8 + 9 = 100。

from functools import reduce
operator = {
 1: '+',
 2: '-',
 0: ''
}
base = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
def isHundred(num):
 #轉化為8位3進制數,得到運算符數組
 arr = []
 for index in range(8):
  index = 7 - index
  arr.append(num // (3 ** index))
  num -= (num // (3 ** index)) * (3 ** index)
 arr = map(lambda x: operator[x], arr)
 #合并得到運算式
 formula = reduce(lambda x, y: x + y, zip(base, arr))
 formula = list(formula)
 formula.append('9')
 formula = ''.join(formula)
 #計算運算式結果
 res = eval(formula)
 return res, formula
if __name__ == '__main__':
 #所有可能的結果
 total = 3 ** 8
 for i in range(total):
  res, formula = isHundred(i)
  if res == 100:
   print(formula+' = 100')

結果:

/usr/bin/python3.5 /home/kang/workspace/Qt3d/test.py
123+45-67+8-9 = 100
123+4-5+67-89 = 100
123-45-67+89 = 100
123-4-5-6-7+8-9 = 100
12+3+4+5-6-7+89 = 100
12+3-4+5+67+8+9 = 100
12-3-4+5-6+7+89 = 100
1+23-4+56+7+8+9 = 100
1+23-4+5+6+78-9 = 100
1+2+34-5+67-8+9 = 100
1+2+3-4+5+6+78+9 = 100

下面再看一個小實例:

題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

程序源代碼:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
l = []
for i in range(3):
 x = int(raw_input('integer:\n'))
 l.append(x)
l.sort()
print l

以上實例輸出結果為:

integer:
8
integer:
5
integer:
6
[5, 6, 8]

總結

以上就是小編分享給大家的有關Python的實例,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Python定時器實例代碼、Python生成數字圖片代碼分享Python中enumerate函數代碼解析等,有什么問題可以隨時留言,小編會及時回復大家的。

相關文章

  • 對python中的argv和argc使用詳解

    對python中的argv和argc使用詳解

    今天小編就為大家分享一篇對python中的argv和argc使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python3 sqlite3限制條件查詢的操作

    python3 sqlite3限制條件查詢的操作

    這篇文章主要介紹了python3 sqlite3限制條件查詢的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python PyQt5實戰(zhàn)項目之文件拷貝器的具體實現詳解

    Python PyQt5實戰(zhàn)項目之文件拷貝器的具體實現詳解

    PyQt5以一套Python模塊的形式來實現功能。它包含了超過620個類,600個方法和函數。本篇文章手把手帶你用PyQt5實現一個簡單的文件拷貝器,大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • jupyter notebook 寫代碼自動補全的實現

    jupyter notebook 寫代碼自動補全的實現

    這篇文章主要介紹了jupyter notebook 寫代碼自動補全的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Python如何安裝第三方模塊

    Python如何安裝第三方模塊

    在本篇文章里,小編給大家分享的是關于Python安裝第三方模塊的方法及實例代碼,需要的朋友們可以學習下。
    2020-05-05
  • Python之變量類型詳解

    Python之變量類型詳解

    這篇文章主要介紹了Python之變量類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 用python寫一個帶有gui界面的密碼生成器

    用python寫一個帶有gui界面的密碼生成器

    這篇文章主要介紹了用python寫一個帶有gui界面的密碼生成器,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 在langchain中對大模型的輸出進行格式化實現

    在langchain中對大模型的輸出進行格式化實現

    這篇文章主要為大家介紹了在langchain中對大模型的輸出進行格式化實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • python socket模塊創(chuàng)建和使用套接字示例詳解

    python socket模塊創(chuàng)建和使用套接字示例詳解

    這篇文章主要為大家介紹了python socket模塊來創(chuàng)建和使用套接字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Django 過濾器匯總及自定義過濾器使用詳解

    Django 過濾器匯總及自定義過濾器使用詳解

    這篇文章主要介紹了Django 過濾器匯總及自定義過濾器使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07

最新評論