一、学习目标
1.掌握单分支、双分支和多分支条件语句的使用。
2.熟练掌握实现遍历循环操作的for语句。
3.熟练掌握实现无限循环操作的while语句。
4.掌握控制循环执行的break语句和continue语句。
二、相关练习
1.实现某校的三好学生评定,其标准为语文、数学、英语三门课程的平均成绩大于90分,且每门课程成绩不低于85分,输入三门课程成绩,满足条件的输出“符合三好学生条件”,不满足条件的输出“不符合条件”。
score = input('请输入语文、数学、英语三门课程的分数:')
chinese, math, english = map(int,score.split())
if chinese + math + english > 90 and chinese>=85 and math>=85 and english>=85:
print('符合三好学生条件')
else:
print('不符合条件')
2.商场开展购物打折活动:消费在200元以内不打折,200~500元范围内打九折,超过500元打八折,编写程序,根据消费金额计算最终的交费金额。
amount = int(input('请输入消费金额:'))
if amount<200:
amount = amount
elif 200<=amount<500:
amount = 0.9*amount
elif amount>=500:
amount = 0.8*amount
print('最终的交费金额为:',amount)
3.用户输入若干个分数,求所有分数的平均分。每输入一个分数后询问是否继续输入下一个分数,回答“Y”或“y”就继续输入下一个分数,回答“N”或“n”就停止输入分数。
list1 = []
while True:
number = float(input('请输入分数:'))
list1.append(number)
while True:
x = input('是否继续输入(Y或y/N或n):')
if x.lower() not in ('y','n'):
print('请按照要求输入!!!')
else:
break
if x.lower()=='n':
break
print('用户输入的所有分数有:',list1)
print('所有分数的平均分为:{0:.2f}'.format(sum(list1)/len(list1)))
4.判断今天是今年的第几天。
import datetime
Today = datetime.date.today()
print('今天的日期是:',Today)
print('今天是今年的第{}天'.format(Today.timetuple().tm_yday))
5.输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。
for i in range(100,1000):
bai,shi,ge = map(int,str(i))
if bai**3 + shi**3 +ge**3 == i:
print(i)
6.打印100以内素数
import math
for i in range(2,101):
for j in range(2,int(math.sqrt(i))+1):
if i%j==0:
break
else:
print(i,end=' ')
7.求解鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。
for i in range(0,31):
for j in range(0,31-i):
if 2*i+4*j==90 and i+j==30:
print('鸡,兔各有:',i,j)
8.计算组合数C(n,i),即从n个元素中任选i个,有多少种选法。
def cni(n,i):
min_=min(i,n-i)
r=1
for j in range(0,min_):
r*=float((n-j)/(min_-j))
return r
n = int(input('请输入n的值:'))
i = int(input('请输入i的值:'))
c = cni(n,i)
print('C(n,i)的值为:',c)