python小白練習(xí)題之條件控制與循環(huán)控制
前言
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。
計(jì)算機(jī)之所以能做很多自動化的任務(wù),因?yàn)樗梢宰约鹤鰲l件判斷。
比如,輸入用戶年齡,根據(jù)年齡打印不同的內(nèi)容,在Python程序中,用if語句實(shí)現(xiàn):
age = 20 if age >= 18: print('your age is', age) print('adult')
根據(jù)Python的縮進(jìn)規(guī)則,如果if語句判斷是True,就把縮進(jìn)的兩行print語句執(zhí)行了,否則,什么也不做。
可以通過下圖來簡單了解條件語句的執(zhí)行過程:
一:選擇結(jié)構(gòu):
1.身高預(yù)測
每個做父母的都關(guān)心自己孩子成人后的身高,據(jù)有關(guān)生理衛(wèi)生知識與數(shù)理統(tǒng)計(jì)分析表明,影響小孩成人后身高的因素有遺傳、飲食習(xí)慣與堅(jiān)持體育鍛煉等。小孩成人后的身高與其父母的身高和自身的性別密切相關(guān)。
設(shè)faHeight為其父身高,moHeight為其母身高,身高預(yù)測公式為:
男性成人時身高 = (faHeight + moHeight) * 0.54
女性成人時身高 = (faHeight * 0.923 + moHeight) / 2
此外,如果喜愛體育鍛煉,那么可增加身高2%,如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高1.5%。
要求父母的身高、是否愛好體育鍛煉等參數(shù)從鍵盤輸入。
print("-------------身高預(yù)測小程序---------------") faHeight=float(input("請輸入父親的身高(cm):")) moHeight=float(input("請輸入母親的身高(cm):")) sex=int(input("請輸入你的性別(1:代表男,0:代表女):")) a=int(input("是否喜愛鍛煉(1:代表是,2:代表不否):")) b=int(input("是否有衛(wèi)生飲食的習(xí)慣(1:代表是,2:代表不否):")) if(sex == 1): # print("你是個男生!") if(a == 1): # print("你有體育鍛煉的習(xí)慣!") if(b == 1): # print("你有衛(wèi)生飲食的習(xí)慣!") height=(faHeight+moHeight)*0.54*1.02*1.015 print("你是男生,鑒于你愛好鍛煉和健康飲食,你的身高為:"+str(height)) else: height = (faHeight + moHeight) * 0.54 * 1.02 print("你是男生,鑒于你愛好鍛煉,你的身高為:" + str(height)) else: if (b == 1): # print("你有衛(wèi)生飲食的習(xí)慣!") height = (faHeight + moHeight) * 0.54 * 1.015 print("你是男生,鑒于你健康飲食,你的身高為:" + str(height)) else: height = (faHeight + moHeight) * 0.54 print("你是男生,鑒于你不鍛煉和衛(wèi)生飲食,你的身高為:" + str(height)) else: # print("你是個女生!") if (a == 1): # print("你有體育鍛煉的習(xí)慣!") if (b == 1): # print("你有衛(wèi)生飲食的習(xí)慣!") height = (faHeight *0.923 + moHeight)/2 * 1.02 * 1.015 print("你是女生,鑒于你愛好鍛煉和健康飲食,你的身高為:" + str(height)) else: height = (faHeight *0.923 + moHeight)/2 * 1.02 print("你是女生,鑒于你愛好鍛煉,你的身高為:" + str(height)) else: if (b == 1): # print("你有衛(wèi)生飲食的習(xí)慣!") height = (faHeight *0.923 + moHeight)/2 * 1.015 print("你是女生,鑒于你健康飲食,你的身高為:" + str(height)) else: height = (faHeight *0.923 + moHeight)/2 print("你是女生,鑒于你不鍛煉和衛(wèi)生飲食,你的身高為:" + str(height))
2.計(jì)算銷售總金額
圖書批發(fā)商店的某本書的零售價是26.5元/本,如果客戶一次性購買100本以上(包括100本),則每本的價格打9折,如果客戶一次性購買500本以上(包括500本),則每本的價格打8折并返回1000元給客戶,請分別計(jì)算購買8本、150本、600本的應(yīng)付金額是多少。要求購買書的數(shù)量從控制臺輸入。
print("請輸入你三次購買圖書的數(shù)量:") for i in range(3): num = int(input("請輸入你購買的圖書總量:")) if (num < 100): cost = 26.5 * num print("你需付:" + str(cost) + "元") elif (num < 500): cost = 26.5 * num * 0.9 print("由于你購買大于100本書,已為你打9折,你需付:" + str(cost) + "元") else: cost = 26.5 * num * 0.8 print("由于你購買大于500本書,已為你打8折,你需付:" + str(cost) + "元")
3、輸入兩個整數(shù),按由小到大的順序輸出這兩個數(shù)。
#3. 輸入兩個整數(shù),按由小到大的順序輸出這兩個數(shù) num1=int(input("請輸入第一個整數(shù):")) num2=int(input("請輸入第二個整數(shù):")) if(num1<num2): print("兩個數(shù)從小到大排序?yàn)椋?,num1,num2) else: print("兩個數(shù)從小到大排序?yàn)椋?, num2, num1)
二:循環(huán)結(jié)構(gòu)
1、 有1020個西瓜,第一天賣掉總數(shù)的一半后又多賣出兩個,以后每天賣剩下的一半多兩個,問幾天以后能賣完?
num=1020 count=0 while(num>0): num=num/2-2 count+=1 print(count) print("西瓜在",count,"天后賣完")
2、計(jì)算1000以內(nèi)所有不能被7整除的整數(shù)之和。
#方法一: sum=0 for i in range(1,1000): if(i%7 !=0 ): sum+=i print("1000以內(nèi)所有不能被7整除的整數(shù)之和為:",sum) #方法二: i=1 sum1=sum2=0 while i<1000: if(i%7 ==0): sum1 += i i += 1 else: sum2 += i i += 1 print("1000以內(nèi)能被7整除的整數(shù)之和",sum1) print("1000以內(nèi)不能被7整除的整數(shù)之和",sum2)
3、計(jì)算 1+2-3+4-5+6-7…+100的結(jié)果//注意審題
#7、計(jì)算 1+2-3+4-5+6-7....+100的結(jié)果; sum1=sum2=sum=0 for i in range(2,101): if(i%2 == 0): sum1+=i else: sum2+=i sum=sum1-sum2+1 print("結(jié)果為:",sum)
4、一張紙的厚度大約是0.08mm,對折多少次之后能達(dá)到或超過珠穆朗瑪峰的高度(8848.13米)
#4、一張紙的厚度大約是0.08mm,對折多少次之后能達(dá)到或超過珠穆朗瑪峰的高度(8848.13米) n=0.00008 count=0 while n<8848.13: n=n*2 count+=1 print("需要對折:",count,"次")
5、從控制臺輸入一個正整數(shù),計(jì)算該數(shù)的階乘。例如輸入5,階乘為 54321
#9、從控制臺輸入一個正整數(shù),計(jì)算該數(shù)的階乘。例如輸入5,階乘為 5*4*3*2*1 sum=1 num=int(input("請輸入一個正整數(shù):")) while num>0: sum=sum*num num=num-1 print("隨機(jī)數(shù)num的階乘為:",sum)
6、 猴子吃桃問題: 猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個,第二天早上又將剩下的桃子吃了一半,又多吃一個,以后每天都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子。求第一天共摘了多少個?
#2、猴子吃桃問題: 猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個, # 第二天早上又將剩下的桃子吃了一半,又多吃一個,以后每天都吃了前一天剩下的一半零一 #個。到第10天早上想再吃時,見只剩下一個桃子。求第一天共摘了多少個? i=sum=1 while i<=9: sum=(sum+1)*2 i+=1 print("第一天共摘了",sum,"個桃子")
7、任意輸入一個整數(shù)(小于10位),輸出它一共有多少位。
#4、任意輸入一個整數(shù)(小于10位),輸出它一共有多少位。 num=float(input("請任意輸入一個整數(shù)(小于10位):")) count=0 while (num > 1 and num<1000000000): num /=10 count+=1 print("你輸入的數(shù)一共有",count,"位")
8、本金10000元存入銀行,年利率是千分之三,每過1年,將本金和利息相加作為新的本金。計(jì)算5年后,獲得的本金是:
#本金10000元存入銀行,年利率是千分之三,每過1年,將本金和利息相加作為新的本金。 # 計(jì)算5年后,獲得的本金是 num=10000 i=1 while i<=5: num*=1.003 i+=1 print("五年后的本金為:",num)
9、你的程序要讀入一系列正整數(shù)數(shù)據(jù),輸入-1表示輸入結(jié)束,-1本身不是輸入的數(shù)據(jù)。程序輸出讀到的數(shù)據(jù)中的奇數(shù)和偶數(shù)的個數(shù)
#你的程序要讀入一系列正整數(shù)數(shù)據(jù),輸入-1表示輸入結(jié)束,-1本身不是輸入的數(shù)據(jù)。 # 程序輸出讀到的數(shù)據(jù)中的奇數(shù)和偶數(shù)的個數(shù) print("請輸入一系列數(shù)字(輸入-1代表輸入結(jié)束):") sum1=sum2=0 x=int(input("請輸入第一個數(shù):")) # input("請輸入下一個數(shù):") while (x!=-1): x=int(input("請輸入下一個數(shù):")) if(x%2==0): sum1+=1 else: sum2+=1 print("這一系列數(shù)中偶數(shù)個數(shù)為:",sum1) print("這一系列數(shù)中奇數(shù)個數(shù)為:",sum2)
總結(jié)
到此這篇關(guān)于python條件控制與循環(huán)控制的文章就介紹到這了,更多相關(guān)python條件控制與循環(huán)控制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python機(jī)器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)算法與數(shù)據(jù)降維的分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11python3 實(shí)現(xiàn)驗(yàn)證碼圖片切割的方法
今天小編就為大家分享一篇python3 實(shí)現(xiàn)驗(yàn)證碼圖片切割的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python實(shí)現(xiàn)銀行賬戶資金交易管理系統(tǒng)
這篇文章主要介紹了Python銀行賬戶資金交易管理系統(tǒng),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01PyTorch?使用torchvision進(jìn)行圖片數(shù)據(jù)增廣
本文主要介紹了PyTorch?使用torchvision進(jìn)行圖片數(shù)據(jù)增廣,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05python使用Paramiko模塊實(shí)現(xiàn)遠(yuǎn)程文件拷貝
這篇文章主要為大家詳細(xì)介紹了python使用Paramiko模塊實(shí)現(xiàn)遠(yuǎn)程文件拷貝,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04Python使用matplotlib.pyplot?as?plt繪圖圖層優(yōu)先級問題
這篇文章主要介紹了Python使用matplotlib.pyplot?as?plt繪圖圖層優(yōu)先級問題.文章圍繞主題展開詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-04-04numpy和tensorflow中的各種乘法(點(diǎn)乘和矩陣乘)
這篇文章主要介紹了numpy和tensorflow中的各種乘法(點(diǎn)乘和矩陣乘),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03