前言:
现时各位老铁们对“python36升级37”大概比较讲究,咱们都想要知道一些“python36升级37”的相关文章。那么小编在网上收集了一些有关“python36升级37””的相关文章,希望大家能喜欢,各位老铁们一起来学习一下吧!注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。
Python基础练习题37:0的组合
给定一个包含若干个整数(可能存在重复整数)的列表,判断其中是否存在三个元素a,b,c,使得a+b+c=0?找出所有满足条件且不重复的这样的三个数的组合。
输入格式:
共一行,列表中元素以空格隔开。
输出格式:
共一行,为不重复组合的个数,不存在这样的组合就输出0。
输入样例:
-1 0 1 2 -1
输出样例:
2
(注:两个组合是-1,-1,2和-1,0,1)
解答:本题看起来很复杂,但其实只要三个循环遍历,加上筛选条件,其它的交给计算机即可解决问题。
l = list(map(int, input().split()))l = sorted(l)t = tuple(l)l2 = []for i in range(len(t)): for j in range(len(t)): for k in range(len(t)): if i != j and j != k and k != i and t[i] + t[j] + t[k] == 0: # 列出筛选条件。 l1 = [t[i], t[j], t[k]] l1 = sorted(l1) t1 = tuple(l1) l2.append(t1)print(len(set(l2)))
Python基础练习题38:乘积的列表
给定一个包含若干个整数的列表alist,要求返回输出列表blist,blist中的元素为除与alist对应位置上的元素之外其余各元素的乘积。
输入格式:
共一行,列表中的元素以空格隔开。
输出格式:
共一行,为一个列表。
输入样例:
1 2 3
输出样例:
[6, 3, 2]
(注:原列表的1,对应输出6 = 2 * 3,原列表的2,对应输出3=1 * 3,原列表的3,对应输出2 = 1 * \2)
解答:计算加法的基础数为0,计算乘法的基础数为1。这题的关键在于第2个列表中的对应数的乘法计算中,要先排除与它的索引相同的数,然后再累计相乘剩下的数。
l1 = list(map(int, input().split()))l2 = l1[:]t1 = tuple(l1)for i in range(len(t1)): r = 1 # 乘法基础数为1。 for j in range(len(t1)): if i != j: r *= t1[j] l2[i] = rprint(l2)
To be continued.
标签: #python36升级37 #python37升级到38