Python练习 (20200527)
1.三角形的构成条件是:任意两边之和大于第三边。请编写程序,定义变量a、b和c表示三角形的3条边长,判断这3条边能否构成三角形。
1 def fun(a,b,c):
2 '''三角形三边条件判断'''
3 if a>0 and b>0 and c>0:
4 if a+b>c and a+c>b and b+c>a:
5 return'可以构成三角形'
6 else:
7 return '不能构成三角形'
8 else:
9 return '三角形的三边不能小于0'
10 print('请输入三角形三边的长度:')
11 a = int(input('a = '))
12 b = int(input('b = '))
13 c = int(input('c = '))
14 result = fun(a,b,c)
15 print(result)
16
17 # => 请输入三角形三边的长度:
18 # => a = 4
19 # => b = 5
20 # => c = 6
21 # => 可以构成三角形
2.录入多个正整数,判断最大的数是多少,并指出第几个数最大。
1 # 方法一:使用列表,max函数(录入多个数据可以使用)
2 lis = []
3 def in_():
4 '''输入整数'''
5 print('请输入多个正整数:(0 退出)')
6 tag = True
7 while tag:
8 num = int(input('>>>'))
9 if num == 0:
10 tag = False
11 else:
12 lis.append(num)
13 print(lis)
14 return lis
15 def func():
16 '''判断整数大小,指出最大'''
17 in_()
18 a = max(lis)
19 b = lis.index(a)
20 return '最大数:%s,第%s个数最大'%(a,b+1)
21 res = func()
22 print(res)
23
24 # => 请输入多个正整数:(0 退出)
25 # => >>>45
26 # => >>>62
27 # => >>>32
28 # => >>>45
29 # => >>>12
30 # => >>>1
31 # => >>>0
32 # => [45, 62, 32, 45, 12, 1]
33 # => 最大数:62,第2个数最大
34
35
36 # 方法二:参考系(使用个数较少的数据)
37 print('请依次录入3个数据')
38 a = int(input('>>>'))
39 b = int(input('>>>'))
40 c = int(input('>>>'))
41 # 指定一个参考系:最大值为-1
42 max_num = -1
43 # 记录指针
44 index_num = 0
45 if max_num < a:
46 max_num = a
47 index_num = 1
48 elif max_num < b:
49 max_num = b
50 index_num = 2
51 elif max_num < c:
52 max_num = c
53 index_num = 3
54 print('最大值为:%s,第%s个数最大'%(max_num,index_num))
55
56 # => 请依次录入3个数据
57 # => >>>45
58 # => >>>32
59 # => >>>1
60 # => 最大值为:45,第1个数最大
3.输入年份、月份和日期,输出该日期是今年的第几天。需要考虑闰年问题。其中闰年的判断条件是:①能整除4且不能整除100;②能整除400.也就是四年一闰,百年不闰,四百年再闰。
1 def what_day(year,month,day):
2 '''判断输入的年份、月份和日期是今年的第几天'''
3 feb = 28
4 if year%4==0 and year%100!=0 or year%400==0:
5 feb = 29
6 res_day = 0
7 lis = [31,feb,31,30,31,30,31,31,30,31,30,31]
8 if month==1:
9 res_day = day
10 else:
11 for i in range(0,month-1):
12 res_day = res_day+lis[i]
13 res_day += day
14 return '今年第%s天'%res_day
15 print('------输入年份、月份和日期,输出天数------')
16 year = int(input('年份:\n>>>'))
17 month = int(input('月份:\n>>>'))
18 day = int(input('日期:\n>>>'))
19 result = what_day(year,month,day)
20 print(result)
21
22 # => ------输入年份、月份和日期,输出天数------
23 # => 年份:
24 # => >>>2020
25 # => 月份:
26 # => >>>6
27 # => 日期:
28 # => >>>1
29 # => 今年第153天