题目1:使用条件判断和循环求100000内的偶数和。
程序如下:
s=0
for i in range(100001):
if i%2 == 0:
s+=i
print('100000内的偶数和为%s'%s)
题目2:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2,求这两个数组的中位数,你可以假设 nums1 和 nums2 不会同时为空。
示例 1:
nums1 = [1, 3]
nums2 = [2]
则中位数是 2
示例 2:
nums1 = [1, 2]
nums2 = [3, 4]
则中位数是 (2 + 3)/2 = 2.5
程序如下:
nums1= []
nums2= []
print('-----------------------------') #可简化为 "-"*20
print('''请手动输入两个数组!
每次输完一个数字请回车!
结束一个数组输入请输入\"c\"并回车''') #同样代码前面加r可以忽略转义
print('-----------------------------')
while True:
s1=input('请添加第一个数组:') #数组可以直接传进来的,判断有点画蛇添足了
if s1 =='c':
break
else:
nums1.append(int(s1))
continue #continue表示跳过当前循环,进入下一轮循环,这个里的continue写和不写都没差别的
while True:
s2=input('请添加第二个数组:')
if s2 =='c':
break
else:
nums2.append(int(s2))
continue
print('--------------------')
print('您输入的两个数组为:')
print('nums1=',nums1)
print('nums2=',nums2)
a=nums1+nums2 #数组可以直接相加
a.sort()
#print(a) #测试使用
b=len(a)
#print(b) #测试使用
if b%2==0:
m=a[int(b/2-1)]
n=a[int(b/2)]
z=(m+n)/2
print('中位数为:',z) #判断单双数非常优秀
else:
m=int(((b+1)/2)-1)
z=a[m]
print('中位数为:',z)
"""
+2 优秀的代码
+3 逻辑完整,正确
+3 数组的操作掌握的不错
-1 变量命名过于随意,文件名用拼音
-1 数组可以直接传进来,无需一个个添加
-1 continue理解不够
"""
版权声明:本文为原创文章,版权归 Helo 所有。
本文链接:https://www.ishelo.com/archives/58/
商业转载请联系作者获得授权,非商业转载请注明出处。
Comment here is closed