python如何求兩數(shù)之和及多數(shù)之和
python求兩數(shù)之和及多數(shù)之和
(1)求兩整數(shù)A和B之和
要求:輸入的兩數(shù)在同一行,兩數(shù)間用空格隔開
方法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)惴ǎ謩e指向nums首部和尾部,然后將左右指針?biāo)赶虻脑睾团ctarget進(jìn)行比較,和<target,左指針向后移動(dòng)一位,如果和>target,右指針向左移動(dòng)一位。
此題是無序的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)文章
pandas.read_csv參數(shù)詳解(小結(jié))
這篇文章主要介紹了pandas.read_csv參數(shù)詳解(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06淺述python2與python3的簡(jiǎn)單區(qū)別
python2:print語句,語句就意味著可以直接跟要打印的東西而python3:print函數(shù),函數(shù)就以為這必須要加上括號(hào)才能調(diào)用。下面通過本文給大家介紹python2與python3的簡(jiǎn)單區(qū)別,感興趣的朋友跟隨小編一起看看吧2018-09-09Python數(shù)據(jù)可視化JupyterNotebook繪圖生成高清圖片
這篇文章主要為大家介紹了Python數(shù)據(jù)可視化中如何利用Jupyter Notebook繪圖生成高清圖片,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09python在OpenCV里實(shí)現(xiàn)投影變換效果
這篇文章主要介紹了python在OpenCV里實(shí)現(xiàn)投影變換效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼,總結(jié)了RabbitMQ中三種exchange模式的實(shí)現(xiàn),分別是fanout, direct和topic。感興趣的小伙伴們可以參考一下2018-11-11簡(jiǎn)單介紹Python的Tornado框架中的協(xié)程異步實(shí)現(xiàn)原理
這篇文章主要介紹了簡(jiǎn)單介紹Python的Tornado框架中的協(xié)程異步實(shí)現(xiàn)原理,作者基于Python的生成器講述了Tornado異步的特點(diǎn),需要的朋友可以參考下2015-04-04實(shí)現(xiàn)python?namedtuple元類編程
這篇文章主要為大家介紹了實(shí)現(xiàn)python?namedtuple元類編程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07