python如何求兩數(shù)之和及多數(shù)之和
python求兩數(shù)之和及多數(shù)之和
(1)求兩整數(shù)A和B之和
要求:輸入的兩數(shù)在同一行,兩數(shù)間用空格隔開(kāi)
方法1
代碼:
A,B = map(int,input().split()) ?#map()函數(shù)進(jìn)行類型轉(zhuǎn)換 print(A+B)
輸入和輸出:
3 4
7
本方法用到map()函數(shù),前面的A和B是輸入的變量名,若想輸入更多的數(shù),增加前面的變量名即可,例如:A,B,C,D=
split() 函數(shù)是對(duì)要輸入的數(shù)之間的符號(hào)進(jìn)行配置,
比如要求中要用空格,那么split()的括號(hào)中什么都不用填(默認(rèn)為空格)
如果用“,”為間隔,輸入要是3,4 則用split(',')
方法2
代碼:
x = input().split() print(int(x[0])+int(x[1]))
輸入和輸出同上
本方法不用多個(gè)變量名,將輸入的數(shù)存放到列表x之中,好處是不限定輸入數(shù)的個(gè)數(shù)
(2)求多數(shù)之和
要求:輸入n個(gè)數(shù),求這n個(gè)數(shù)的和
x = input().split() ? ? #將輸入的數(shù)存放到列表x之中 num = len(x) ? ? ? ? ? ?#求列表的長(zhǎng)度 nums = 0 for i in range(num): ? ?#用for循環(huán)求列表中數(shù)的和 ? ? nums += int(x[i]) print(nums)
輸入和輸出:
3 4 5
12
python字典解兩數(shù)之和
兩數(shù)之和
題目描述:
給定一個(gè)整數(shù)數(shù)組 nums 和一個(gè)目標(biāo)值 target,請(qǐng)你在該數(shù)組中找出和為目標(biāo)值的那 兩個(gè) 整數(shù),并返回他們的數(shù)組下標(biāo)。
你可以假設(shè)每種輸入只會(huì)對(duì)應(yīng)一個(gè)答案。但是,數(shù)組中同一個(gè)元素不能使用兩遍。
示例1:
給定 nums = [2, 7, 11, 15], target = 9
因?yàn)?nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
在力扣官方的解答中,Python3的解法是基于哈希表的,哈希表同Python的字典一樣,也是鍵值對(duì)的形式,所以考慮用字典解題。
思路
如果是有序升序的nums整數(shù)數(shù)組,則考慮用到雙指針?biāo)惴?,分別指向nums首部和尾部,然后將左右指針?biāo)赶虻脑睾团ctarget進(jìn)行比較,和<target,左指針向后移動(dòng)一位,如果和>target,右指針向左移動(dòng)一位。
此題是無(wú)序的nums整數(shù)數(shù)組,參考官方的解答。創(chuàng)建一個(gè)空的字典dict,遍歷nums數(shù)組中的每一個(gè)值nums[i],判斷target - nums[i]是否存在于dict中,如果不存在,將nums[i]添加到字典中,否則的話,證明當(dāng)前的值與存在于dict中的target-nums[i]的和為target,這兩個(gè)值的索引就是我們最終要返回的結(jié)果。
為便于理解:截一個(gè)官方的圖對(duì)照。最終已經(jīng)添加到哈希表中的6和當(dāng)前遍歷的元素2的索引就是我們需要的返回結(jié)果。

代碼:
def twoSum(nums, target):
dict = {}
for i, value in enumerate(nums):
if target - value not in dict:
dict[nums[i]] = i
else:
return [dict[target - nums[i]],i]
if __name__ == '__main__':
nums = [2,8,11,15]
target = 26
print(twoSum(nums, target))
運(yùn)行結(jié)果:
[2, 3]
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python玩轉(zhuǎn)串口(基于pySerial問(wèn)題)
這篇文章主要介紹了使用Python玩轉(zhuǎn)串口(基于pySerial問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label()
這篇文章主要介紹了Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label(),記錄如何用使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽,是以matplotlib.pyplot.bar_label()為例,需要的朋友可以參考一下2022-03-03
上帝為你開(kāi)了一扇窗之Tkinter常用函數(shù)詳解
構(gòu)思了很長(zhǎng)一段時(shí)間,總感覺(jué)不夠有趣,于是打算出一個(gè)完整的系列,讓大家一起感受python的樂(lè)趣.這個(gè)系列著重以系統(tǒng)庫(kù)中的tkinter為中心來(lái)圍繞進(jìn)行編寫.因此我們的第一步是導(dǎo)入模塊, 第一節(jié)就來(lái)為大家建立一個(gè)窗口 ,需要的朋友可以參考下2021-06-06
conda虛擬環(huán)境下使用pyinstaller打包程序?yàn)閑xe文件全過(guò)程
pyinstaller是一個(gè)支持跨平臺(tái)使用的第三方庫(kù),它可以將腳本執(zhí)行所需的模塊和庫(kù),自動(dòng)分析、收集并生成一個(gè)文件夾或者可執(zhí)行文件,這篇文章主要給大家介紹了關(guān)于conda虛擬環(huán)境下使用pyinstaller打包程序?yàn)閑xe文件的相關(guān)資料,需要的朋友可以參考下2023-12-12
深度學(xué)習(xí)tensorflow基礎(chǔ)mnist
mnist作為深度學(xué)習(xí)中的HelloWorld,該小工程詳細(xì)描述了如何從零開(kāi)始深度學(xué)習(xí),代碼詳細(xì),解釋全面,需要的朋友可以參考下2021-04-04
Python對(duì)list列表結(jié)構(gòu)中的值進(jìn)行去重的方法總結(jié)
這篇文章主要介紹了Python對(duì)列表list中的值進(jìn)行去重的方法總結(jié),文中給出的方法都能保持去重后的順序不發(fā)生改變,需要的朋友可以參考下2016-05-05

