python小白练习题之条件控制与循环控制

目录
  • 前言
  • 一:选择结构:
  • 二:循环结构
  • 总结

前言

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:

 age = 20 if age >= 18:     print('your age is', age)     print('adult') 

 根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

可以通过下图来简单了解条件语句的执行过程:

python小白练习题之条件控制与循环控制

一:选择结构:

1.身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。

设faHeight为其父身高,moHeight为其母身高,身高预测公式为:

男性成人时身高 = (faHeight + moHeight) * 0.54

女性成人时身高 = (faHeight * 0.923 + moHeight) / 2

此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。

要求父母的身高、是否爱好体育锻炼等参数从键盘输入。

 print("-------------身高预测小程序---------------") faHeight=float(input("请输入父亲的身高(cm):")) moHeight=float(input("请输入母亲的身高(cm):")) sex=int(input("请输入你的性别(1:代表男,0:代表女):")) a=int(input("是否喜爱锻炼(1:代表是,2:代表不否):")) b=int(input("是否有卫生饮食的习惯(1:代表是,2:代表不否):")) if(sex == 1):     # print("你是个男生!")     if(a == 1):         # print("你有体育锻炼的习惯!")         if(b == 1):             # print("你有卫生饮食的习惯!")             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("你有卫生饮食的习惯!")             height = (faHeight + moHeight) * 0.54 * 1.015             print("你是男生,鉴于你健康饮食,你的身高为:" + str(height))         else:             height = (faHeight + moHeight) * 0.54             print("你是男生,鉴于你不锻炼和卫生饮食,你的身高为:" + str(height)) else:     # print("你是个女生!")     if (a == 1):         # print("你有体育锻炼的习惯!")         if (b == 1):             # print("你有卫生饮食的习惯!")             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("你有卫生饮食的习惯!")             height = (faHeight *0.923 + moHeight)/2 * 1.015             print("你是女生,鉴于你健康饮食,你的身高为:" + str(height))         else:             height = (faHeight *0.923 + moHeight)/2             print("你是女生,鉴于你不锻炼和卫生饮食,你的身高为:" + str(height))  

2.计算销售总金额

图书批发商店的某本书的零售价是26.5元/本,如果客户一次性购买100本以上(包括100本),则每本的价格打9折,如果客户一次性购买500本以上(包括500本),则每本的价格打8折并返回1000元给客户,请分别计算购买8本、150本、600本的应付金额是多少。要求购买书的数量从控制台输入。

 print("请输入你三次购买图书的数量:") 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、输入两个整数,按由小到大的顺序输出这两个数。

 #3. 输入两个整数,按由小到大的顺序输出这两个数 num1=int(input("请输入第一个整数:")) num2=int(input("请输入第二个整数:")) if(num1<num2):     print("两个数从小到大排序为:",num1,num2) else:     print("两个数从小到大排序为:", num2, num1) 

二:循环结构

1、 有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

 num=1020 count=0 while(num>0):     num=num/2-2     count+=1     print(count) print("西瓜在",count,"天后卖完") 

2、计算1000以内所有不能被7整除的整数之和。

 #方法一: sum=0 for i in range(1,1000):     if(i%7 !=0 ):         sum+=i print("1000以内所有不能被7整除的整数之和为:",sum) #方法二: i=1 sum1=sum2=0 while i<1000:     if(i%7 ==0):         sum1 += i         i += 1     else:         sum2 += i         i += 1 print("1000以内能被7整除的整数之和",sum1) print("1000以内不能被7整除的整数之和",sum2) 

3、计算 1+2-3+4-5+6-7…+100的结果//注意审题

 #7、计算 1+2-3+4-5+6-7....+100的结果; sum1=sum2=sum=0 for i in range(2,101):     if(i%2 == 0):         sum1+=i     else:         sum2+=i sum=sum1-sum2+1 print("结果为:",sum) 

4、一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)

 #4、一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米) n=0.00008 count=0 while n<8848.13:     n=n*2     count+=1 print("需要对折:",count,"次") 

5、从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 54321

 #9、从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 5*4*3*2*1 sum=1 num=int(input("请输入一个正整数:")) while num>0:     sum=sum*num     num=num-1 print("随机数num的阶乘为:",sum) 

6、 猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?

 #2、猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个, # 第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一 #个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个? i=sum=1 while i<=9:     sum=(sum+1)*2     i+=1 print("第一天共摘了",sum,"个桃子") 

7、任意输入一个整数(小于10位),输出它一共有多少位。

 #4、任意输入一个整数(小于10位),输出它一共有多少位。 num=float(input("请任意输入一个整数(小于10位):")) count=0 while (num > 1 and num<1000000000):     num /=10     count+=1 print("你输入的数一共有",count,"位") 

8、本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是:

 #本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。 # 计算5年后,获得的本金是 num=10000 i=1 while i<=5:     num*=1.003     i+=1 print("五年后的本金为:",num) 

9、你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数

 #你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。 # 程序输出读到的数据中的奇数和偶数的个数 print("请输入一系列数字(输入-1代表输入结束):") sum1=sum2=0 x=int(input("请输入第一个数:")) # input("请输入下一个数:") while (x!=-1):     x=int(input("请输入下一个数:"))     if(x%2==0):         sum1+=1     else:         sum2+=1 print("这一系列数中偶数个数为:",sum1) print("这一系列数中奇数个数为:",sum2) 

总结

本站由小牛团队全力维护,小牛十年了,大家已经步入中年 。本站源码全部经过团队成员测试并调试,价格可能比其它网站略贵几元钱,不解释!
小牛资源 » python小白练习题之条件控制与循环控制

发表评论

全站资源亲测可用,价格略高几元,不解释

立即查看 了解详情