假期第(17)天

多分支选择结构选择结构应用示例
03P9.py】
l 利用多分支选择结构将成绩从百分制变换到等级制
def func(score):
if score > 100:
return 'wrong score.must <= 100.'
elif score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
elif score >= 0:
return 'E'
else:
return 'wrong score.must >0'
选择结构1
0
10
嵌套的选择结构应用示例
03P10.py】
l 使用嵌套的选择结构实现百分制成绩到等级制的转换
def func(score):
degree = 'DCBAAE'
if score > 100 or score < 0:
return 'wrong score.must between 0 and 100.'
else:
index = (score - 60)//10
if index >= 0:
return degree[index]
else:
return degree[-1]
选择结构1
1
1
1
跳转表
l 使用列表、元组或字典可以很容易构建跳转表,在某
些场合下可以快速地实现类似于多分支选择结构
l
03P11-1.py】
funcDict = {'1':lambda:print('You input 1'),
'2':lambda:print('You input 2'),'3':lambda:print('You input 3')}
x = input('Input an integer to call different function:')
func = funcDict.get(x, None)
if func:
func()
else:
print('Wrong integer.')
l
03P11-2.py】
a={1:lambda a,b:a+b,2:lambda a,b:a-b}
print(a.get(2)(3,5))
print((list(a.values()))[0](5,3))
print((tuple(a.values()))[0](5,3))
print((list(a.items()))[1][1](5,4))
选择结构12
1
2
选择结构应用案例-1【
03P12.py】
l 用户输入若干个分数,求平均分。每输入一个分数后
询问是否继续输入下一个分数,回答"yes"就继续输
入下一个分数,回答"no"就停止输入分数
numbers = []#使用列表存放临时数据
while True:
x = input('请输入一个成绩:
')
try:#异常处理结构
numbers.append(float(x))
except:
print('不是合法成绩')
while True:
flag = input('继续输入吗?(
yes/no)').lower()
if flag not in ('yes', 'no'):#限定用户输入须为yes或no
print('只能输入yes或no')
else:
break
if flag=='no':
break
print(sum(numbers)/len(numbers))
选择结构程序案例13
1
3
选择结构应用案例-2【
03P13.py】
l 编写程序,判断今天是今年的第几天
import time
date = time.localtime()#获取当前日期时间
year, month, day = date[:3]
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if year%400==0 or (year%4==0 and year%100!=0):#闰年判断
day_month[1] = 29
if month==1:
print(day)
else:
print(sum(day_month[:month-1])+day)
l 其中闰年判断可以使用 calendar.isleap()方法
>>> import calendar
>>> calendar.isleap(2018)
l 或者使用下面的方法直接计算今天是今年的第几天
>>> import datetime
>>> datetime.date.today().timetuple().tm_yday
78
>
>>
da
tet
im
e.date(2018,3,17).timetuple().tm_yday
7
6
 
posted @ 2022-01-17 18:25  我的未来姓栗山  阅读(115)  评论(0)    收藏  举报