python21-循環小作業

課程:B站大學
記錄python學習,直到學會基本的爬蟲,使用python搭建接口自動化測試就算學會了,在進階webui自動化,app自動化

循環語句小作業

  • for-in作業
    • 斐波那契 for
  • 固定數值計算
  • 素數
  • 字符統計
  • 數字序列
    • range 函數
  • 水仙花數
  • 循環嵌套
  • 冒泡排序
  • 選擇排序
  • 數字組合
  • 循環跳轉 for else
  • 猜數字
  • 字典實現(解析字典)
  • 非固定數值計算
  • 回文數
  • 實踐是檢驗真理的唯一標準


for-in作業

斐波那契 for

作業要求:編寫一個Python程序,使用for循環,生成并輸出斐波那契數列的前n項,其中n是用戶指定的正整數。斐波那契數列,又稱黃金分割數列,指的是:1、1、2、3、5、8、13、21、34…從第三個數開始,每個數字都是前兩個數字之和。

# 用戶輸入
n = int(input("請輸入正整數 n:"))# 初始化斐波那契數列
fibs = [1, 1]# 生成數列
for i in range(2, n):next_num = fibs[i - 1] + fibs[i - 2]fibs.append(next_num)# 輸出結果
print(f"斐波那契數列的前 {n} 項為:{fibs}")

固定數值計算

作業要求:對數字列表中數字的求和,求平均值,求最值,求最小值

def case_2():nums = [12,34,3,6,56,33434,6,3,23,23,23,57,78,11,1,8,9]sum = 0avg = Nonemax_num = nums[0]min_num = nums[0]for n in nums:sum += nif n > max_num:max_num = nif n < min_num:min_num = nprint("SUM:", sum)avg = sum / len(nums)print("AVG:", avg)print("MAX:", max_num)print("MIN:", min_num)

素數

作業要求:編寫一個Python程序,輸入一個正整數,判斷這個數是否為素數(質數)。素數是指只能被1和它本身整除的正整數。

import math# 用戶輸入正整數
num = int(input("請輸入一個正整數:"))# 判斷是否為素數
def is_prime(n):if n <= 1:return False  for i in range(2, int(math.sqrt(n)) + 1):if n % i == 0:return False  return True  # 輸出結果
if is_prime(num):print(f"{num} 是素數")
else:print(f"{num} 不是素數")

字符統計

作業要求
從鍵盤輸入一個字符序列,統計,大寫字母,小寫字母,數字,其它字符各出現次數,將次數保存到字典中。

def func2():data = input("請輸入數據:")count = {"DX":0,"XX":0,"SZ":0,"QT":0}data  = list(data)print(data)for c in data:if c >= '0' and c <= '9':count["SZ"] += 1elif c >= 'A' and c <= 'Z':count["DX"] += 1elif c >= 'a' and c <= 'z':count["XX"] += 1else:count["QT"] += 1print(count)

數字序列

range 函數

range() 函數是一個用于生成整數序列的內置函數,通過指定起始值、停止值和步長,它能夠生成一個按照指定規則遞增或遞減的整數序列。
for-in 結合 range 函數實現計次循環

result = 0
for i in range(1, 101):result += iprint(result)

Python 中 ,可以使用 random 模塊中的 randint() 函數獲取隨機數。

from random import randint
print(randint(1, 3))

小tips:

from random import randintplay = int(input("請輸入一個1-6之間的數字:"))
bot = randint(1, 6)if play == bot:print("點數相同,平局")
elif play > bot:print(f"玩家{play}點,電腦{bot}點,玩家勝")
else:print(f"玩家{play}點,電腦{bot}點,電腦勝")

水仙花數

作業要求:編寫一個 Python 程序,找出100-999范圍內的水仙花數。所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。

for n in range(100, 1000):# 獲取百位數i = n // 100   # 獲取十位數j = n // 10 % 10  # 獲取個位數k = n % 10  # 判斷是否為水仙花數if n == i**3 + j**3 + k**3:  # 輸出水仙花數print(n) 

循環嵌套

循環嵌套特征

  • 循環嵌套不局限于某種循環形式,可任意相互嵌套
  • 外層循環循環一次,內層循環循環一輪
    使用 for-in 循環遍歷二維列表
data = [[1,2,3,4,5,6,7,8,9],["A","B","C","D","E"],["Hello","World","Python","Hogwarts"]
]
for item in data:for el in item:print(el)

使用 while 循環遍歷二維列表

data = [[1,2,3,4,5,6,7,8,9],["A","B","C","D","E"],["Hello","World","Python","Hogwarts"]
]
l1 = len(data)
i = 0
while i < l1:item = data[i]l2 = len(item)j = 0while(j < l2):el = item[j]print(el)j += 1i += 1

冒泡排序

def bubbleSort(obj, key=None, reverse=False):length = len(obj)# 外層循環用來確定找出剩余數據的最大值,N個數,找n-1次即可for i in range(length-1):for j in range(length-i-1):if key:  # if key != None:if key(obj[j]) > key(obj[j + 1]):obj[j], obj[j + 1] = obj[j + 1], obj[j]else:if obj[j] > obj[j+1]:obj[j], obj[j+1] = obj[j+1], obj[j]# return obj if not reverse else obj[::-1]if reverse:return obj[::-1]else:return obj

選擇排序

def xuanze():data = [1,56,6,5,4,89,2]length = len(data)for i in range(length-1):small = data[i]for j in range(i+1,length):if data[j]<small:idx = jdata[idx],data[i] = data[i],data[idx]return dataresult = xuanze()
print(result)

數字組合

**for i in range(1, 5):for j in range(1, 5):for k in range(1, 5):# 條件判斷排除重復數字的排列if (i != k) and (i != j) and (j != k):print(i, j, k)
**

循環跳轉 for else

names = ["tom","jack","rose","tony"]inName = input("請輸入要查找的姓名:")# 不使用 else 形式
flag = False
for name in names:if name == inName:print("找到了")flag = Truebreak
if not flag:print("沒找到")# 使用 else 形式
for name in names:if name == inName:print("找到了")break
else:print("沒找到")

猜數字

import random# 生成目標數字
target_number = random.randint(1, 100)# 初始化猜測次數
guess_count = 0while True:# 接收玩家輸入guess = int(input("請輸入你的猜測數字:"))# 增加猜測次數guess_count += 1# 判斷猜測結果if guess == target_number:print(f"恭喜你猜對了!目標數字是 {target_number},你共猜了 {guess_count} 次。")breakelif guess < target_number:print("猜小了,請繼續猜測。")else:print("猜大了,請繼續猜測。")

字典實現(解析字典)

def func3():txt = '''#aTrans:art. 一;字母A#a.m.Trans:n. 上午#a/cTrans:n. 往來帳戶@往來:come - and - go; contact; intercourse@n. 往來帳戶#aardvarkTrans:n. 土豬#aardwolfTrans:n. 土狼#aasvogelTrans:n. 禿鷹之一種#abaciTrans:n. 算盤#abackTrans:ad. 向后地;朝后地#abacusTrans:n. 算盤#abaftTrans:ad. 向船尾@prep. 在...后#abaloneTrans:n. 鮑魚#abandonTrans:vt. 放棄;沉溺@n. 放任#abandonedTrans:a. 被拋棄的;自棄的;自甘墮落的#abandoneeTrans:n. 被遺棄者;被委付者#abandonerTrans:n. 遺棄者;委付者#abandonmentTrans:n. 放棄;自暴自棄;放縱#abasTrans:vt. 打倒#abaseTrans:vt. 降低...的地位;降低...的品格;貶抑#abasementTrans:n. 貶抑;屈辱;謙卑#abashTrans:vt. 使...羞愧;使困窘#abashmentTrans:n. 羞愧;#abateTrans:vt. 緩和;減弱;減少;廢除@vi. 緩和;減弱;減少#abatementTrans:n. 減少;減輕;緩和#abatisTrans:n. 鹿柴;拒木;鐵絲網#abatmentTrans:n. 消除,減除#abbTrans:n. 橫絲;緯;羊毛#abbacyTrans:n. 大修道院院長之職位;管區;任期#abbatialTrans:a. 大修道院的;大修道院長的;女大修道院長的#abbeTrans:n. 大修道院院長;僧侶;神父#abbessTrans:n. 女修道院院長;女庵主持#abbeyTrans:n. 修道院#abbotTrans:n. 修道院院長;方丈;住持#abbreviateTrans:vt. 縮寫;使...簡略;縮短#abbreviationTrans:n. 縮寫#abbreviatorTrans:n. 縮寫者#abcTrans:n. 基礎知識;美國廣播公司;澳大利亞廣播公司#abcoulombTrans:n. 絕對庫倫#abdicateTrans:vt. 放棄@vi. 遜位#abdicationTrans:n. 遜位;棄權;辭職#abdicatorTrans:n. 放棄者;讓位者#abdomenTrans:n. 腹部#abdominalTrans:a. 腹部的;腹式呼吸;開腹手術#abductTrans:vt. 誘拐;綁走#abductionTrans:n. 誘拐#abductorTrans:n. 誘拐者#abeTrans:n. 亞伯;Abraham 的昵稱#abeamTrans:ad. 與船的龍骨成直角#abecedarianTrans:n. 初學者@a. 字母的;初步的#abedTrans:ad. 在床上#abelmoskTrans:n. 秋葵#aberranceTrans:n. 脫離正道;越軌;脫離常軌#aberrantTrans:a. 脫離正道的;脫離常軌的;變體的#aberrationTrans:n. 越軌;光行差;心理失常;色差#abestrineTrans:adj. 石棉的#abetTrans:vt. 教唆;幫助'''data = txt.split("\n    #")myDict = {}for item in data:# 處理第一個單詞字符串if item.startswith("#"):item = item[1:]# 拆分單詞項k, w = item.split("\n    Trans:")myDict[k] = winw = input("請輸入一個單詞:")if  inw in myDict:trans = myDict[inw]print(trans)else:print("輸入的單詞不存在")

非固定數值計算

def case_3():sum = 0avg = Nonenum = 0max_num = Nonemin_num = Nonewhile True:flag = Falsen = input("請輸入數字:")print(type(n))if n == "bye":breakelse:if n.startswith("-"): # -123123n = n[1:] # 123123flag = Trueif n.isdigit():n = int(n)if flag == True:n *= -1num += 1sum += nif max_num == None:max_num = nelif max_num < n:max_num = nif min_num == None:min_num = nelif max_num > n:min_num = n

回文數

作業要求:編寫一個Python程序,輸入一個5位數,判斷輸入的這個數字是否為回文數。回文數是指從左到右和從右到左讀都一樣的數。例如12321。如果輸入的是回文數,輸出是回文數,否則輸出不是回文數。(使用循環進行實現)

a = int(input("請輸入一個數字:\n"))
x = str(a)
flag = True# 遍歷字符串的一半字符
for i in range(len(x) // 2):if x[i] != x[-i - 1]:# 如果字符不相同,將標志變量設為False 并退出循環flag = Falsebreakif flag:print(f"{a} 是一個回文數!")
else:print(f"{a} 不是一個回文數!")

在這里插入圖片描述

實踐是檢驗真理的唯一標準

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

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

相關文章

深度學習小記(包括pytorch 還有一些神經網絡架構)

這個是用來增加深度學習的知識面或者就是記錄一些常用的命令,會不斷的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor轉換為Image類型的 imgtoPIL(img) #利用save就可以保存下來 img.save("/opt/data/private/stable_si…

Neo4j 可觀測性最佳實踐

Neo4j 介紹 Neo4j 是一款領先的圖數據庫管理系統&#xff0c;采用圖數據模型來表示和存儲數據。它以節點、關系和屬性的形式組織數據&#xff0c;節點代表實體&#xff0c;關系表示節點間的連接&#xff0c;屬性則為節點和關系附加信息。Neo4j 使用 Cypher 查詢語言&#xff0…

算法訓練營第三十天 | 動態規劃 (三)

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 一、01背包問題理論基礎&#xff08;一&#xff09;動態規劃五部曲確定dp數組以及下標的含義確定遞推公式初始化dp數組確定遍歷順序 二、01背包問題理論基礎&#…

玩機搞機基本常識-------小米OLED屏幕機型怎么設置為永不休眠_手機不息屏_保持亮屏功能 拒絕“燒屏” ?

前面在幫一位粉絲解決小米OLED機型在設置----鎖屏下沒有永不休眠的問題。在這里&#xff0c;大家要明白為什么有些小米機型有這個設置有的沒有的原因。區分OLED 屏幕和 LCD屏幕的不同。從根本上拒絕燒屏問題。 OLED 屏幕的一些優缺點&#x1f49d;&#x1f49d;&#x1f49d; …

PostgreSQL使用LIKE右模糊沒有走索引分析驗證

建表&數據初始化可參考PostgreSQL 分區表——范圍分區SQL實踐 背景&#xff1a; 給t_common_work_order_log的handle_user_name新建索引后&#xff0c;使用LIKE右模糊匹配查詢時&#xff0c;發現走的全表掃描 CREATE INDEX order_log_handle_user_name_index ON t_commo…

【vue】【element-plus】 el-date-picker使用cell-class-name進行標記,type=year不生效解決方法

typedete&#xff0c;自定義cell-class-name打標記效果如下&#xff1a; 相關代碼&#xff1a; <el-date-pickerv-model"date":clearable"false":editable"false":cell-class-name"cellClassName"type"date"format&quo…

《Learning Langchain》閱讀筆記8-RAG(4)在vector store中存儲embbdings

什么是 vector store&#xff1f; 與專門用于存儲結構化數據&#xff08;如 JSON 文檔或符合關系型數據庫模式的數據&#xff09;的傳統數據庫不同&#xff0c;vector stores處理的是非結構化數據&#xff0c;包括文本和圖像。像傳統數據庫一樣&#xff0c;vector stores也能執…

用api的方式調用本地下載好的大模型(以llama為例,不是ollama!!!)

目錄 1、創建虛擬環境2、激活虛擬環境3、安裝相關庫4、編寫腳本&#xff08;test.py&#xff09;調用腳本5、bash中測試通信完美結果 1、創建虛擬環境 conda create -n myenv python3.12 -y2、激活虛擬環境 conda activate myenv3、安裝相關庫 pip install vllm fastapi uvi…

算力網絡(CFN)在跨校聯合科研中的應用:安全性挑戰與聯邦調度實踐

引言&#xff1a;科研協作的算力困境 上海交通大學與麻省理工學院聯合開展的高能物理模擬實驗&#xff0c;因算力資源分配不均導致部分節點連續72小時處于空轉狀態。這個典型案例揭示了當前跨機構科研協作的痛點&#xff1a;?算力資源無法實現安全可信的細粒度共享?。算力網…

高防IP+CDN組合:電商大促的“雙保險”防護方案

引言 電商大促期間&#xff0c;平臺流量呈爆發式增長&#xff0c;既要應對瞬時激增的訪問量&#xff0c;又要防范黑客趁機發起的DDoS攻擊、惡意爬蟲等威脅。單一防護手段往往難以兼顧性能與安全&#xff0c;而高防IPCDN組合通過“流量清洗加速分發”的雙重機制&#xff0c;為電…

# 構建詞匯表:自然語言處理中的關鍵步驟

構建詞匯表&#xff1a;自然語言處理中的關鍵步驟 在自然語言處理&#xff08;NLP&#xff09;任務中&#xff0c;詞匯表&#xff08;Vocabulary&#xff09;是文本數據預處理的核心組件之一。它將文本中的單詞或字符映射為數值索引&#xff0c;從而讓計算機能夠理解和處理語言…

SQL進階知識:七、數據庫設計

今天介紹下關于數據庫設計的詳細介紹&#xff0c;并結合MySQL數據庫提供實際例子。 數據庫設計是確保數據庫能夠高效、安全地存儲和管理數據的關鍵環節。良好的數據庫設計可以提高查詢性能、減少數據冗余、確保數據完整性&#xff0c;并簡化數據維護。以下是關于數據庫設計的詳…

python如何取消word中的縮進

在python-docx中&#xff0c;取消縮進可以通過將相應的縮進屬性設置為None或0來實現。以下是取消不同類型縮進的方法&#xff1a; 取消左縮進 from docx import Documentdoc Document(existing_document.docx)for paragraph in doc.paragraphs:# 取消左縮進paragraph.paragr…

Docker拉取鏡像代理配置實踐與經驗分享

Docker拉取鏡像代理配置實踐與經驗分享 一、背景概述 在企業內網環境中&#xff0c;我們部署了多臺用于測試與學習的服務器。近期&#xff0c;接到領導安排&#xff0c;需在其中一臺服務器上通過Docker安裝n8n應用程序。然而在實際操作過程中&#xff0c;遭遇Docker官方鏡像庫…

【數字圖像處理】立體視覺基礎(1)

成像 成像過程&#xff1a;三維空間坐標到二維圖像坐標的變換 相機矩陣&#xff1a;建立三維到二維的投影關系 相機的使用步驟&#xff08;模型-視圖變換&#xff09;&#xff1a; &#xff08;1&#xff09;視圖變換 &#xff08;2&#xff09;模型變換 &#xff08;3&…

實驗4:列表與字典應用

目的 &#xff1a;熟練操作組合數據類型。 試驗任務&#xff1a; 1. 基礎&#xff1a;生日悖論分析。如果一個房間有23人或以上&#xff0c;那么至少有兩個人的生日相同的概率大于50%。編寫程序&#xff0c;輸出在不同隨機樣本數量下&#xff0c;23 個人中至少兩個人生日相同的…

c++之網絡編程

網絡編程&#xff1a;使得計算機程序能夠在網絡中發送和接受數據&#xff0c;從而實現分布式系統和網絡服務的功能。 作用&#xff1a;使應用程序能夠通過網絡協議與其他計算機程序進行數據交換 基本概念 套接字&#xff08;socket&#xff09;&#xff1a; 套接字是網絡通信…

【Harmony_Bug】forEach + asyncawait 的異步陷阱

一、問題描述 今天在做一個RDB的小項目時&#xff0c;遇到一個問題&#xff0c;因為沒報錯其實也是不算是BUG&#xff0c;以下描述時我就直接說關鍵點&#xff0c;其他代碼忽略。 我的數據模型初始化有六條數據如圖 在持久化層&#xff0c;通過initUserData這個方法執行插入。…

大腸桿菌誘導蛋白時OD600=0.6-0.8添加IPTG的思考-實驗操作系列-009

一、為什么用OD600表示菌液濃度&#xff1f; 1. 光密度與吸光值的關系 OD600是指在600納米波長下的光密度&#xff08;Optical Density&#xff09;&#xff0c;也就是通過細菌懸浮液的光的吸收程度。根據比爾-朗伯定律&#xff0c;光密度與溶液中光學活性物質&#xff08;如…

OpenHarmony - 小型系統內核(LiteOS-A)(十),魔法鍵使用方法,用戶態異常信息說明

OpenHarmony - 小型系統內核&#xff08;LiteOS-A&#xff09;&#xff08;十&#xff09; 十四、魔法鍵使用方法 使用場景 在系統運行出現無響應等情況時&#xff0c;可以通過魔法鍵功能確定系統是否被鎖中斷&#xff08;魔法鍵也無響應&#xff09;或者查看系統任務運行狀態…