1.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
n=input('输入一个数 n:')
m=input('输入:')
s=0
for x in range(1,int(n)+1):
s+=int(m*x)
print(s)
结果:
输入一个数 n:5
输入:6
74070
2.打印图形1 n=4
i=1
while i <= 5:
print( "@" * (1* i - 1))
i += 1
结果:
@
@@
@@@
@@@@
打印图形1 n=5
i=1
while i <= 6:
print( "@" * (1* i - 1))
i+=1
结果:
@
@@
@@@
@@@@
@@@@@
3.打印图形2 n=3
i=1
while i <=3 :
print(" " * (4- i), "@" * (2 * i - 1))
i+=1
结果:
@
@@@
@@@@@
打印图形2 n==5
i=1
while i <=4:
print(" " * (4- i), "@" * (2 * i - 1))
i+=1
结果:
@
@@@
@@@@@
@@@@@@@
4.打印图形3
i=1
while i <=3:
print("@"*(4-i))
#print(" " * (4- i), "@" * (2 * i - 1))
i+=1
结果:
@@@
@@
@
5. 输入两个正整数m和n,求其最⼤大公约数和最⼩小公倍数。
m = input('输入 m:')
n = input('输入 n:')
count = 1
for i in range(0,int(m)):
num1 = int(m) - i
if (int(m) % num1 == 0) and (int(n) % num1 ==0):
print(' of %s and %s 的最大公约数是 %d'%(m,n,num1))
break
while True:
num2 = count*int(m)
if num2 % int(n) == 0:
print(' %s and %s 的最小公倍数是 %d'%(m,n,num2))
break
count += 1
6题.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数
sorces = []
for i in range(1,1001):
sum1 = 0
for x in range(1,i):
if i % x == 0:
sum1 += x
if sum1 == i:
sorces.append(i)
print('完数是:',sorces)
完数是: [6, 28, 496]
7. 9*9乘法口诀
for x in range(1,10):
for y in range(1,x+1):
print(str(y)+'x'+str(x)+'='+str(x*y),end=' ')
print()
结果:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
9.打印图形(菱形)
i = 1
while i <= 7:
if i <= 4:
print(" " * (4 - i), "@" * (2 * i - 1)) # 空格符很重要,空格多少个 效果不一样
else:
print(" " * (i - 4), "@" * (2 * (8- i) - 1))
i += 1
结果:
@
@@@
@@@@@
@@@@@@@
@@@@@
@@@
@