Helo

Python学习之求100000内的偶数和
题目1:使用条件判断和循环求100000内的偶数和。 程序如下: s=0 for i in range(10000...
扫描右侧二维码阅读全文
07
2019/02

Python学习之求100000内的偶数和

题目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理解不够
"""
Last modification:February 18th, 2019 at 02:29 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment