栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python第四次作业_python的循环语句例题?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python第四次作业_python的循环语句例题?

文章目录

Python循环练习

一、数列求和【part one】二、数列求和【part two】三、工作日的力量【part one】四、工作日的力量【part two】五、工作日的力量【part three】六、爱因斯坦的阶梯问题七、打印空心三角形八、循环数数九、查验身份证十、计算日期【part one】

Python循环练习 一、数列求和【part one】

n = eval(input())

t = 1
sum = 0
for i in range(1,n+1):
    sum += i**i*t
    t = t*-1
print(sum)
二、数列求和【part two】

n = eval(input())

t = 1
sum = 0
i = 1
for k in range(1,n+1):
    if i <= 10:
        sum += k**i*t
    else:
        i = 1
        sum += k**i*t
    i = i+1
    t = t*-1

print(sum)
三、工作日的力量【part one】

n = eval(input())
cnt = 1.0
for i in range(1,n+1):
    if i % 7 in [6 , 0]:
        cnt = cnt*(1-0.01)
    else:
        cnt = cnt*(1+0.01)
print("{:.2f}".format(cnt))
四、工作日的力量【part two】

n = eval(input())
def dayup(df):
    dayup = 1
    for i in range(1,365+1) :
        if i%(n+1) in [0]:
            dayup = dayup *(1-0.01)
        else:
            dayup = dayup *(1 + df )
    return dayup
dayfactor = 0.01
while dayup(dayfactor) <37.783:
    dayfactor += 0.0001
print("工作日的努力参数是:{:.3f} ".format(dayfactor))
五、工作日的力量【part three】

st, ed = eval(input())
x = eval(input())
n = ed - st +1
cnt = 1.0
for i in range(1,n+1):
    if i % 5 in [4 , 0]:
        cnt = cnt*(1-0.001*x)
    else:
        cnt = cnt*(1+0.01*x)
print("努力的成果是:{:.2f}".format(cnt))
if n % 5 in[4,0]:
    print("结束时在休息!")
else:
    print("结束时在工作!")

六、爱因斯坦的阶梯问题

n = eval(input())
cnt = 0
for i in range(1,n+1):
    if (i%2==1)and(i%3==2)and( i%5==4)and(i%6==5)and(i%7==0) :
        cnt = cnt + 1
print(cnt)
res = 0
for i in range(1,n+1):
    if (i%2==1)and(i%3==2)and( i%5==4)and(i%6==5)and(i%7==0) :
        res = res +1
        if res==cnt:
            print(i,end="")
        else:
            print(i, end=",")
七、打印空心三角形

n = eval(input())
cnt = 0
for i in range(1, n+1):
    if i == 1:
        print("*")
    elif i == n:
        for j in range(1, n + 1):
            print("*", end="")
    else:
        print("*", end="")
        for j in range(i-2):
            print(" ",end="")
        print("*")
n=eval(input())
for i in range(1,n+1):
    for j in range(1,i+1):
        if j==1 or i==j or i==n:
            print("*",end='')
        else:
            print(end=' ')
    print(end='n')
八、循环数数

import math

n = int(input())
sum = 0
for i in range(2,n):
    flag=True
    num=str(i)
    for j in range(len(num)):
        num=num[1:]+num[:1]
        temp=int(num)
        for k in range(2, int(math.sqrt(temp)) + 1):
            if temp % k == 0:
                flag = False
                break
        if flag==False:
            break
    if flag:
        sum += 1
print(sum)
九、查验身份证

z = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
m = ['1','0','X','9','8','7','6','5','4','3','2']
n = int(input())
t = 0
for i in range(n):
    num = input()
    a = num[:17]
    flag = True
    res = 0
    for j in range(len(a)):
        try:
            res += int(a[j]) * z[j]
        except:
            flag = False
            print(num)
            t = 1
            break
    if flag:
        res = res % 11
        if m[res] != num[-1]:
            print(num)
            t = 1
if t == 0:
    print('All passed')
十、计算日期【part one】

st = 2007
en = 2022
pt = 1
cnt = 0
s1=[31,28,31,30,31,30,31,31,30,31,30,31]
s2=[31,29,31,30,31,30,31,31,30,31,30,31]
for i in range(st,en+1):
    if i % 4 == 0 and i % 100 != 0 or i % 400 == 0:
        for j in range(12):
            pt += s2[j]
            if pt % 7 == 0 and i > 1900:
                cnt += 1
    else:
        for j in range(12):
            pt += s1[j]
            if pt % 7 == 0 and i > 1900:
                cnt += 1
print(cnt)
print("29")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786544.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号