当前位置:首页>python>白名单Python刷题营第3周题解

白名单Python刷题营第3周题解

  • 2026-09-09 02:45:10
白名单Python刷题营第3周题解

Python刷题营

第3周 循环结构

11 方桌

参考答案

n=int(input())

s=0 # 累加器

for i in range(1,n+1): # 第1~n张桌子

    m=2+2*i # 计算椅子数

    s+=m # 累加椅子数

print(s)

学员优秀解法

wuyun

n=int(input())

total=n*n+3*n

print(total)

mingyuan

a=int(input())

b=0

for i in range(1,a+1):

    b+=(i+1)*2

print(b)

zimo

n=int(input())

a=0

b=1

for i in range(n):

    c=(1+b)*2

    a=a+c

    b=b+1

print(a)

12 树的生长

参考答案

n=int(input())

m=1 # 第1层结点数

s=1 # 累加器,初值为第1层结点数

for i in range(2,n+1): # 第2~n层

    m*=2 # 计算第i层结点数(上层结点数*2)

    s+=m

print(s)

学员优秀解法

jerry

n=int(input()) 

print(2**n-1)

shaocong

n=int(input())

s=1

for i in range(n):

    s+=s

print(s-1)

gavin

n=int(input())

s=0

for i in range(1,n+1):

    s+=2*i+2

print(s)

13 寻找次品

参考答案

s=0 # 累加器,称重次数

n=int(input())

while n>1:

    n//=2 # 平均分成两份(奇偶数都适用,奇数相当于去掉1个再均分)

    s+=1 # 称重次数+1

print(s)

学员优秀解法

leo

n = int(input())

count = 0

while n > 1:

    count += 1

    n = n // 2

print(count)

yuanshuo

n=int(input())

s=0

if n%2!=0:

    n-=1

while True:

    if n==1:

        break

    n//=2

    s+=1

    if n==1:

        break

    if n%2!=0:

        n-=1

print(s)

vivian

n=int(input())

s=0

while n>1:

    if n%2==0:

      n=n//2

      s+=1

   else:

      n-=1

      n=n//2

      s+=1

print(s)

14 学识币

参考答案

n=int(input())

s=0 # 累加器,连续学习天数

while n>=3: # 如果登录后还能学习

    n+=2

    n-=5

    s+=1

print(s)

学员优秀解法

patrick

a=int(input())

print(a//3)

mingyuan

a=int(input())

b=0

while a>=3:

    a-=3

    b+=1

print(b)

jerry

n = int(input())

day = 0

while True:

    n += 2

    if n >= 5:

        n -= 5

        day += 1

    else:

        break

print(day)

15 棋盘格

参考答案

n=int(input())

for i in range(n): # 第i行(行号从0开始)

    ls=[] # 存放每行数字的列表

    for j in range(n): # 第j列(列号从0开始)

        if (i+j)%2==0: # 如果行号+列号是偶数(如第0行第0列)

            ls.append('1')

        else:

            ls.append('0')

    print(' '.join(ls)) # 输出第i行的数字

学员优秀解法

patrick

a=int(input())

for i in range(0,a):

    for j in range(1,a+1):

        if j!=a:

            print((i+j)%2,end=" ")

        if j==a:

            print((i+j)%2)

gavin

n=int(input())

for i in range(n):

    for j in range(n):

        if (j+i)%2==0:

            if (n-1)==j:

                print("1")

           else:

                print("1 ",end="")

        else:

            if (n-1)==j:

                print("0")

            else:

                print("0 ",end="")

一起解锁

趣味编程挑战

最新文章

随机文章