PYTHON_循环
分模块积累,此模块为【循环】。
1. 有四个数字1、2、3、4,能组成多少个互不相同且无重复的三位数,各是多少?
'''初始化''' cnt=0 '''循环判断获得无重复三位数''' for i in range(1,5): for j in range(1,5): for k in range(1,5): if i!=j and i!=k and j!=k: s=str(i)+str(j)+str(k) cnt=cnt+1 print(s) print(cnt)
2. 一个整数,它加上100后是一个完全平方数(即等于整数的平方),再加上168又是一个完全平方数,请问该数是多少?
'''循环判断、输出''' for i in range(1,2000): for j in range(1,2000): if i**2-100==j**2-100-168: print(i**2-100)
--无法通过开方后的数据类型判断,因为python多数计算处理后是浮点型。这里根据 i**2-100==n,j**2-100-168==n 来设置判断条件。
3. 求s=a+aa+aaa+...的值,其中a是一个数字
例如:2+22+222+2222+22222,几个数相加由键盘控制
3.1 循环、迭代:
'''遍历累加、迭代''' for i in range(1,times+1): for j in range(1,i+1): update_string=update_string+string sum=sum+int(update_string) update_string=''
--外层循环控制次数,内层循环控制数字长度;每次每个数的长度和次数相同,每次内层循环结束后重置
3.2 题解:
'''输入''' string=input() times=eval(input()) '''初始化''' sum=0 update_string='' '''遍历累加、迭代''' for i in range(1,times+1): for j in range(1,i+1): update_string=update_string+string sum=sum+int(update_string) update_string='' '''输出''' print(sum)
4. 力扣1:两数之和
l=[] nums = [2,7,11,15] target = 9 for i in range(len(nums)): for j in range(i+1,len(nums)): if nums[i]+nums[j]==target: l.append(i) l.append(j) return l
--双层循环,外层循环控制第一个数,内层循环控制另一个数。
-END
https://www.bilibili.com/video/BV15f4y197Dq/?spm_id_from=333.788&vd_source=efad7d657bca9605bbc1590a798ed819

浙公网安备 33010602011771号