作业003:分支与循环1

2019-11-07  本文已影响0人  yydafx
1、读程序,总结程序的功能:
numbers = 1
for i in range(0, 20):
    numbers *= 2
print(numbers)

上面代码功能:求2的20次方

summation = 0
num = 1
while num <= 100:
    if (num % 3 == 0 or num % 7 == 0) and num % 21 != 0:
        summation += 1
    num += 1
print(summation)

上面代码功能:求1到100之间能被3或者7整除但是不能同时被21整数的数有多少个


2、编程实现(for和while各写⼀遍):
# for循环
num = 0
count = 0
for i in range(1, 101):
    num += i
    count += 1
avg = num / count
print('和:',num, '平均值:',avg)

# while循环
num = 1
sum = 0
count = 0
while True:
    if num > 100:
        break
    sum += num
    num += 1
    count += 1
avg = sum / count
print('和:',num, '平均值:',avg)

上题运算结果:和: 5050 平均值: 50.5

# for循环
num = 0
for i in range(1, 101):
    if i % 3 == 0:
        num += i
print(num)

# while循环
num = 0
count = 0
while num <= 100:
    if num % 3 == 0:
        count += num
    num += 1
print(count)

上题运算结果:1683

# for循环
num = 0
for i in range(1, 101):
    if i % 7 != 0:
        num += i
print(num)

# while循环
num = 0
count = 0
while num <= 100:
    if num % 7 != 0:
        count += num
    num += 1
print(count)

上题运算结果:4315


3、稍微困难
a = 1
b = 1
n = int(input('请输入任意整数:'))
if n == 1 or n == 2:
    print('当前数字是:1')
else:
    for _ in range(n-3):
        a, b = b, a+b
    print('当前数字是:', a+b)
count = 0
for i in range(101, 200, 2):
    # for j in range(2, i):
    for j in range(2, int(i**0.5)+1):
        if i % j == 0:
            break
    else:
        count += 1
print('素数总共有',count)

上题运算结果:素数总共有 21

for i in range(100, 1000):
    a = i // 100
    b = i % 100 // 10
    c = i % 10
    d = a**3 + b**3 + c**3
    if i == d:
        print(i)

上题运算结果:153、370、371、407

n = 20
b = 1
a = 1
c = 1
for i in range(n):
    c, a = a, b
    b = a + c
print('这个数列的第20个分数分⼦为:', b, '/', a)

'''
n = 20
a, b = 1, 1
for i in range(n):
    b, a = a, b + a
print('这个数列的第20个分数分⼦为:', a, '/', b)
'''

上题运算结果:这个数列的第20个分数分⼦为: 17711 / 10946

num = int(input('请输入正整数:'))
count = 0
while True:
    print(num % 10, end='')
    num //= 10
    count += 1
    if num == 0:
        break
print('这是个', count, '位的正整数')

 请输入正整数:1234567
  上题运算结果:7654321这是个 7 位的正整数

上一篇 下一篇

猜你喜欢

热点阅读