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

posted @ 2022-11-17 10:29  找回那所有、  阅读(61)  评论(0)    收藏  举报
这里到底了哦~(●'◡'●)