python基礎小白題5

題目045:統計 1 到 100 之和。

'''

def tm045():

? ? '''

? ? 【個人備注】:簡單,但官網有人寫的更簡單

? ? '''

? ? s = 0

? ? for i in range(1,101):

? ? ? ? s+=i

? ? print(s)

? ? # 更簡潔的方法

? ? print(sum(range(1,101)))

?

?

'''

題目046:求輸入數字的平方,如果平方運算后小于 50 則退出。

'''

def tm046():

? ? '''

? ? 【個人備注】:簡單

? ? '''

? ? while 1:

? ? ? ? x= input('輸入數字得到平方值:')

? ? ? ? print(x*x)

? ? ? ? if x*x<50:

? ? ? ? ? ? break

?

?

'''

題目047:兩個變量值互換。

'''

def tm047():

? ? '''

? ? 【個人備注】:很簡單

? ? '''

? ? a,b=1,2

? ? a,b=b,a

? ? print(a,b)

?

?

?

'''

題目048:數字比較。

'''

def tm048():

? ? '''

? ? 【個人備注】:看了一眼官網答案,簡單到懶得寫。以下官網答案。

? ? '''

? ? i = 10

? ? j = 20

? ? if i > j:

? ? ? ? print('%d 大于 %d' % (i,j))

? ? elif i == j:

? ? ? ? print('%d 等于 %d' % (i,j))

? ? elif i < j:

? ? ? ? print('%d 小于 %d' % (i,j))

? ? else:

? ? ? ? print('未知')

?

?

?

'''

題目049:使用lambda來創建匿名函數。

'''

def tm049():

? ? '''

? ? 【個人備注】:用的不多又忘了,看了一下網上的教程,整理了一下。

? ? '''

? ? #lambda函數也叫匿名函數,即,函數沒有具體的名稱。先來看一個最簡單例子:

? ? def f(x):

? ? ? ? return x**2

? ? print(f(4))

? ? #Python中使用lambda的話,寫成這樣

? ? g = lambda x:x**2

? ? print(g(4))

? ? #lambda存在意義就是對簡單函數的簡潔表示。

? ? #lambda語句中,冒號前是參數,可以有多個,用逗號隔開,冒號右邊的返回值。

? ? #常搭配內置函數map、filter、reduce,都是應用于序列的內置函數。常見的序列包括list、tuple、str。

? ? #map(func, *iterables) --> map object

? ? #filter(function or None, iterable) --> filter object

? ? #reduce(function, sequence[, initial]) -> value

? ? foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

? ? print(list(map(lambda x: x * 2 + 10, foo))) ? ? ? # 映射 [14, 46, 28, 54, 44, 58, 26, 34, 64]

? ? print(list(filter(lambda x: x % 3 == 0, foo))) ? ?# 過濾 [18, 9, 24, 12, 27]

? ? from functools import reduce ? ? ? ? ? ? ? ? ? ? ?# 在Python 3里,reduce()函數已經被從全局名字空間里移除了,它現在被放置在fucntools模塊里

? ? print(reduce(lambda x, y: x + y, foo)) ? ? ? ? ? ?# 累積 139?

?

?

'''

題目050:輸出一個隨機數。

'''

def tm050():

? ? '''

? ? 【個人備注】:之前學習隨機的時候整理的東西,用到時候來找就行了

? ? '''

? ? import random

? ? # 隨機數操作

? ? random.random() ? ? ? ? ? ? # 0.85415370477785668 ? # 隨機一個[0,1)之間的浮點數

? ? random.uniform(0, 100) ? ? ?# 18.7356606526 ? ? ? ? # 隨機一個[0,100]之間的浮點數

? ? random.randrange(0, 100, 2) # 44 ? ? ? ? ? ? ? ? ? ?# 隨機一個[0,100)之間的偶數

? ? random.randint(0, 100) ? ? ?# 22 ? ? ? ? ? ? ? ? ? ?# 隨機一個[0,100]之間的整數

? ? # 隨機字符操作

? ? seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+=-" # 任意字符串(作為隨機字符種子庫)

? ? random.choice(seed) ? ? ? ? ? ? # 'd' ? ? ? ? ? ? ? # 隨機一個字符

? ? random.sample(seed, 3) ? ? ? ? ?# ['a', 'd', 'b'] ? # 隨機多個字符(字符可重復)

? ? ''.join(random.sample(seed,3)) ?# '^f^' ? ? ? ? ? ? # 隨機指定長度字符串(字符可重復)

? ? # 隨機列表操作

? ? random.shuffle(list) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 列表中的元素打亂

?

?

'''

題目051~053、055:

學習使用按位與 &

學習使用按位或 |

學習使用按位異或 ^

學習使用按位取反 ~

'''

def tm051(): # tm052 # tm053 # tm055

? ? '''

? ? 【個人備注】:大概看了一下資料,按位操作可以通過bin()函數轉換為二進制從而實現。

? ? 感覺二進制的計算如果不是學加密之類的基本用不上。

? ? 所以這一題,大概寫了集合的用法,&、|在python中是集合set()才用的符號

? ? 兩個列表求交集并集,通常也都是轉換為集合,然后進行計算的。

? ? '''

? ? # 可迭代變量轉換為集合形式

? ? x = set('runoob')

? ? y = set('google')

? ? print(x, y) ? ? ? ? ?# 重復的被刪除 {'n', 'o', 'b', 'u', 'r'} {'o', 'g', 'e', 'l'}

? ? # 集合的交集、并集、差集

? ? print(x & y) ? ? ? ? # 交集 {'o'}

? ? print(x | y) ? ? ? ? # 并集 {'e', 'o', 'g', 'l', 'u', 'n', 'b', 'r'}

? ? print(x - y) ? ? ? ? # 差集 {'n', 'b', 'u', 'r'}

? ? # 當然也可以寫成函數形式,不過確實沒有上面符號好記。

? ? print(x.intersection(y))

? ? print(x.union(y))

? ? print(x.difference(y))

?

?

'''

題目054:取一個整數a從右端開始的4-7位。

'''

def tm054():

? ? '''

? ? 【個人備注】:官網答案不對

? ? '''

? ? a = 123456789

? ? b = str(a)

? ? print(b[-7:-3]) ?# 寫的時候注意一下python切片是[-7:-4)左閉右開的,不包含[-4]的,所以要寫成-3才能取到
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445639.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445639.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快排-荷蘭國旗

在使用partition-exchange排序算法時&#xff0c;如快速排序算法&#xff0c;我們會遇到一些問題&#xff0c;比如重復元素太多&#xff0c;降低了效率&#xff0c;在每次遞歸中&#xff0c;左邊部分是空的(沒有元素比關鍵元素小)&#xff0c;而右邊部分只能一個一個遞減移動。…

快排-前m大元素

描述 給定一個數組包含n個元素&#xff0c;統計前m大的數并且把這m個數從大到小輸 出。 輸入 第一行包含一個整數n&#xff0c;表示數組的大小。n < 100000。 第二行包含n個整數&#xff0c;表示數組的元素&#xff0c;整數之間以一個空格分開 。每個整數的絕對值不超過…

歸并-求逆序數

考慮1,2,…,n (n < 100000)的排列i1&#xff0c;i2&#xff0c;…&#xff0c;in&#xff0c;如果其中存在j,k&#xff0c;滿足 j < k 且 ij > ik&#xff0c; 那么就稱(ij,ik)是這個排列的一個逆序。 一個排列含有逆序的個數稱為這個排列的逆序數。例如排列 26345…

動態規劃概述

注&#xff1a;第一次看不需要全理解&#xff0c;以后動態規劃做多了&#xff0c;再回來看看&#xff0c;會有更深的理解 先符上其它文章&#xff0c;看完這篇就可以開始看這些咯。 萌新&#xff1a; …

動態規劃-背包是否裝滿

很簡單但是需要特別注意的&#xff0c;一定不要錯。 背包&#xff1a; 有n 種不同的物品&#xff0c;每個物品有兩個屬性&#xff0c;v體積&#xff0c;c價值&#xff0c;現在給一個體積為 m 的背包&#xff0c;問最多可帶走多少價值的物品。 狀態轉移方程 dp[i][j]max…

dp打開思路3:HDU1069 POJ3616 POJ1088

HDU 1069 題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1069 題意&#xff1a;把給定的長方體&#xff08;不限&#xff09;疊加在一起&#xff0c;疊加的條件是&#xff0c;上面一個長方體的長和寬都比下面長方體的長 和寬短&#xff1b;求這些長方體能…

輸入輸出外掛

板子不解釋 //適用于正負整數 template <class T> inline bool scan_d(T &ret) {char c; int sgn;if(cgetchar(),cEOF) return 0; //EOFwhile(c!?&&(c<0||c>9)) cgetchar();sgn(c?)??1:1;ret(c?)?0:(c?0);while(cgetchar(),c>0&&c&…

dp打開思路4:POJ1189 UVA12511 HDU2845 HBCPC K

POJ1189 http://poj.org/problem?id1189 怎么說呢&#xff0c;不算難&#xff0c;但是容易出問題 我一開始的思路是&#xff0c;第一個釘子只有一種情況&#xff0c;然后下面每個釘子&#xff1a;左邊有釘子就加左邊的情況數&#xff0c;右邊有釘子就加右邊的情況數&#x…

第五次課 課上代碼

第五次 雙重循環——排序&#xff08;復習&#xff09; While循環 Break continue 字符串&#xff08;len&#xff0c;取值改值&#xff0c;格式化&#xff09; 列表生成式 >>> for i in range(4): for j in range(4): print(i,j) 0 0 0 1 0 2 0 3 1…

第六次課 課上代碼

oj的使用 Python Split 函數&#xff08;優點&#xff1a;抽象、簡潔。 舉例&#xff1a;str\int\float\abs 具體實現&#xff09; ninput().split(" ") 3 4 >>> print(int(n[0])int(n[1])) 7 >>> print(12345) 15 l[1,2,3,4,5] >>&g…

橙白oj18訓練作業1-題解、代碼

學習資料和oj如何使用加軟件官方qq群739979255 oj網址&#xff1a;http://oj.acm-icpc.top/ a題&#xff1a;原題為輸入兩個數&#xff0c;一行&#xff0c;用空格隔開&#xff0c;因為python操作對萌新來說略難&#xff0c;改為一行一個數&#xff0c;算出ab。 思路&#x…

橙白oj18訓練作業2-題解、代碼

http://oj.acm-icpc.top/ a題&#xff1a;三個數字排序 可以利用sort函數排序&#xff0c;或者自己想清楚邏輯自己寫&#xff0c;我給出一個正確邏輯 &#xff08;拓展冒泡和其他排序參考https://blog.csdn.net/hebtu666/article/details/81434236&#xff09; a,b,cinput(…

時間空間復雜度概述

找個時間寫一寫時間復雜度和一些問題分類&#xff0c;也普及一下這方面知識。 如何衡量一個算法好壞 很顯然&#xff0c;最重要的兩個指標&#xff1a;需要多久可以解決問題、解決問題耗費了多少資源 那我們首先說第一個問題&#xff0c;要多長時間來解決某個問題。那我們可…

二叉樹遍歷算法總結

文章目錄前提要素深度優先搜索DFS經典遍歷算法前序遍歷遞歸版迭代版中序遍歷遞歸版迭代版后序遍歷遞歸版迭代版Morris遍歷算法中序遍歷前序遍歷后序遍歷廣度優先搜索BFS按層遍歷參考資料前提要素 本文代碼用Java實現。 //二叉樹節點結構 public static class TreeNode {publi…

時間復雜度 P/NP/NPC

你會經常看到網上出現“這怎么做&#xff0c;這不是NP問題嗎”、“這個只有搜了&#xff0c;這已經被證明是NP問題了”之類的話。你要知道&#xff0c;大多數人此時所說的NP問題其實都是指的NPC問題。他們沒有搞清楚NP問題和NPC問題的概念。NP問題并不是那種“只有搜才行”的問…

kmp1-HDU1711 HDU1686 HDU2087 HDU3746

HDU 1711 kmp模板題 http://acm.hdu.edu.cn/showproblem.php?pid1711 #include<stdio.h> #include<string.h> #define N 1000005 int s[N]; int p[N]; int next[N]; int m,n; void getnext(){int j0,k-1;next[0]-1;while(j<m){if(k-1||p[j]p[k]){j;k;next[j]…

kmp2-HDU1358 HUST1010 POJ2406 POJ2752

HDU1358 http://acm.hdu.edu.cn/showproblem.php?pid1358 先構造出 next[] 數組&#xff0c;下標為 i&#xff0c;定義一個變量 j i - next[i] 就是next數組下標和下標對應值的差&#xff0c;如果這個差能整除下標 i&#xff0c;即 i%j0 ,則說明下標i之前的字符串&#xff0…

18暑期培訓總結

暑假一共直播講了七次課&#xff0c;每次一小時到一個半小時&#xff0c;前六次講解python主要實用語法&#xff0c;最后一次講了學習方法和簡單基礎的思想和算法。由于時間有限&#xff0c;不能做到很好&#xff0c;請見諒。 學院做題網站&#xff1a;橙白oj http://oj.acm-i…

第七次課 課上代碼

時間空間復雜度&#xff08;例子&#xff1a;1-n求和&#xff09; 復雜度&#xff1a;https://blog.csdn.net/hebtu666/article/details/82463970 https://blog.csdn.net/hebtu666/article/details/82465495 二分 一個數組查找某個值1 2 3 5 6 7 8 9 10 15 20。。 查找11 …