示例 4-1 输入若干个成绩,求所有成绩的平均分.每输入一个成绩后询问是否继续输入下一个成绩,回答yes则继续,回答no则停止
numbers = [ ]
while True :
x = input ( '请输入一个成绩:' )
try :
numbers. append( float ( x) )
except :
print ( '不是合法成绩' )
while True :
flag = input ( '继续输入吗?(yes/no)' )
if flag. lower( ) not in ( 'yes' , 'no' ) :
print ( '只能输入yes或no' )
else :
break
if flag. lower( ) == 'no' :
break
print ( sum ( numbers) / len ( numbers) )
请输入一个成绩:99
继续输入吗?(yes/no)yes
请输入一个成绩:12
继续输入吗?(yes/no)no
55.5
示例 4-2 编写程序,判断今天是今年的第几天
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)
138
标准库calendar提供了一些与日期操作有关的方法
import calendar
print ( calendar. calendar( 2019 ) )
print ( calendar. month( 2019 , 5 ) )
print ( calendar. isleap( 2019 ) )
print ( calendar. weekday( 2019 , 5 , 18 ) )
2019
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31
May 2019
Mo Tu We Th Fr Sa Su
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
False
5
示例 4-3 编写代码,输出由星号*组成的菱形图案,并且可以灵活控制图案的大小
def main ( n) :
for i in range ( n) :
print ( ( '* ' * i) . center( n* 3 ) )
for i in range ( n, 0 , - 1 ) :
print ( ( '* ' * i) . center( n* 3 ) )
print ( main( 6 ) )
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
None