Python题目求解答

求大佬帮忙哦

第4题

def sumofexpress(a,n):
 sum=0
 for i in range(1,n+1):
  sum+=int(str(a)*i)
 return sum
if __name__=='__main__':
 print(sumofexpress(2,5))

源代码(注意源代码的缩进)

第3题

def sumofdigit(n):
 sum=0
 while n>0:
  sum+=n%10
  n=n//10
 return sum
if __name__=='__main__':
 for x in range(100,1000):
  x1=sumofdigit(x)
  x3=sumofdigit(x*3)
  x4=sumofdigit(x*4)
  x5=sumofdigit(x*5)
  x6=sumofdigit(x*6)
  x7=sumofdigit(x*7)
  if x1==x3 and x1==x4 and x1==x5 and x1==x6 and x1==x7:
   print("x="+str(x)+":x*3="+str(x*3)+",x*4="+str(x*4)+",x*5="+str(x*5)+",x*6="+str(x*6)+",x*7="+str(x*7))

源代码(注意源代码的缩进)


最后一题

def isLeap(n):
 if n%4==0 and n%100!=0 or n%400==0:
  return True
 else:
  return False
if __name__=='__main__':
 count=0
 for n in range(1900,2021):
  if isLeap(n)==True:
   print(n,end=' ')
   count+=1
   if count%5==0:
    print()

源代码(注意源代码的缩进)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-27

#题目1

def na(n,a):

r=0

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

r=int(str(a)*i)+r

return r

na(5,2)

#题目2

def snum(x):

x=str(x)

l=len(x)

a=[int(x[i]) for i in range(0,l)]

return sum(a)

m=0

for j in range(100,1000):

a=str(j)+'*'+str(3)

b=str(j)+'*'+str(4)

c=str(j)+'*'+str(5)

d=str(j)+'*'+str(6)

e=str(j)+'*'+str(7)

n=[snum(eval(a)),snum(eval(b)),snum(eval(c)),snum(eval(d)),snum(eval(e))]

if len(set(n))==1:

print('x=' + str(j) + ':' +

a + '=' + str(eval(a)) + ',' +

b + '=' + str(eval(b)) + ',' +

c + '=' + str(eval(c)) + ',' +

d + '=' + str(eval(d)) + ',' +

e + '=' + str(eval(e)))

m +=1

print('共有'+str(m)+'符合条件的三位数')

我困了,题目3 你自己研究吧。。

第2个回答  2019-05-27
# 1
def fun(a,n):
    sum=0
    for i in range(1,n+1):
        sum+=int(str(a)*i)
    return sum
# 2
def bitsum(n): #返回某个正整数各位数字之和
    sum=0
    tem=n
    while(tem):
        sum+=tem%10
        tem=int(tem/10)
    return sum
for i in range(100,1000):
    s=set()
    for j in range(5,8):
        s.add(bitsum(i*j))
    if(len(s)==1):
        print("x=%d:x*3=%d,x*4=%d,x*5=%d,x*6=%d,x*7=%d"%(i,i*3,i*4,i*5,i*6,i*7))
# 3
def isLeap(n):
    if((n%4==0 and n%100!=0) or n%400==0):
        return True
    return False
count=0
for n in range(1900,2021):
    if(isLeap(n)):
        print(n,end=' ')
        count+=1
        if(count%5==0):
            print()

相似回答