Python隨筆36:Python基礎(chǔ)編程練習題37~38

:本文所有代碼均經(jīng)過Python 3.7實際運行檢驗,保證其嚴謹性。

Python基礎(chǔ)練習題37:0的組合

給定一個包含若干個整數(shù)(可能存在重復整數(shù))的列表,判斷其中是否存在三個元素a,b,c,使得a+b+c=0?找出所有滿足條件且不重復的這樣的三個數(shù)的組合。

輸入格式:

共一行,列表中元素以空格隔開。

輸出格式:

共一行,為不重復組合的個數(shù),不存在這樣的組合就輸出0。

輸入樣例:

-1 0 1 2 -1

輸出樣例:

2

(注:兩個組合是-1,-1,2和-1,0,1)

解答:本題看起來很復雜,但其實只要三個循環(huán)遍歷,加上篩選條件,其它的交給計算機即可解決問題。

l = list(map(int, input().split()))
l = sorted(l)
t = tuple(l)
l2 = []
for i in range(len(t)):
    for j in range(len(t)):
        for k in range(len(t)):
            if i != j and j != k and k != i and t[i] + t[j] + t[k] == 0:  # 列出篩選條件。
                l1 = [t[i], t[j], t[k]]
                l1 = sorted(l1)
                t1 = tuple(l1)
                l2.append(t1)
print(len(set(l2)))
Python基礎(chǔ)練習題38:乘積的列表

給定一個包含若干個整數(shù)的列表alist,要求返回輸出列表blist,blist中的元素為除與alist對應(yīng)位置上的元素之外其余各元素的乘積。

輸入格式:

共一行,列表中的元素以空格隔開。

輸出格式:

共一行,為一個列表。

輸入樣例:

1 2 3

輸出樣例:

[6, 3, 2]

(注:原列表的1,對應(yīng)輸出6 = 2 * 3,原列表的2,對應(yīng)輸出3=1 * 3,原列表的3,對應(yīng)輸出2 = 1 * 2)

解答:計算加法的基礎(chǔ)數(shù)為0,計算乘法的基礎(chǔ)數(shù)為1。這題的關(guān)鍵在于第2個列表中的對應(yīng)數(shù)的乘法計算中,要先排除與它的索引相同的數(shù),然后再累計相乘剩下的數(shù)。

l1 = list(map(int, input().split()))
l2 = l1[:]
t1 = tuple(l1)

for i in range(len(t1)):
    r = 1  # 乘法基礎(chǔ)數(shù)為1。
    for j in range(len(t1)):
        if i != j:
            r *= t1[j]
            l2[i] = r
print(l2)

To be continued.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 注:本文所有代碼均經(jīng)過Python 3.7實際運行檢驗,保證其嚴謹性。 Python基礎(chǔ)練習題25:合并兩個列表并...
    掛可掛閱讀 851評論 0 0
  • 1.python序列概述 2.列表 列表(list)是最重要的Python內(nèi)置對象之一,是包含若干元素的有序連續(xù)內(nèi)...
    一棵草_0e33閱讀 1,429評論 0 0
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,718評論 0 5
  • 基于《Python語言程序設(shè)計基礎(chǔ)(第2版)》 第一部分 初識Python語言 第1章 程序設(shè)計基本方法 1.1 ...
    柄志閱讀 27,793評論 4 44
  • 3.4 說說相等和內(nèi)部表示 在Lisp中主要有5種相等斷言,因為不是所有的對象被創(chuàng)建的時候都是相等意義上的相等。數(shù)...
    geoeee閱讀 1,972評論 0 6

友情鏈接更多精彩內(nèi)容