1.求s=a+aa+aaa+aaaa+aa..a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
n = int(input('>>>所需加的值'))
m = int(input('>>>所需加的次数'))
number = 0
sum = 0
for x in range(0,m): #从0~m-1取值,实现m次相加
number = number*10 + n #给number赋值,实现新值
sum += number
print(number)
print(sum)
2.打印图形
n = 4
for x in range(1,n+1):
print('@'*x)
3.打印图形
n = 3
for x in range(1,n+1):
print(' '*(n-x) + '@'*(2*x-1))
4.打印图形
n = 3
for x in range(0,n):
print('@'*(n-x))
5.输入两个正整数m和n,求其最大公约数和最小公倍数。
m = 12
n = 18
if m > n:
for x in range(n,0,-1):#拎出1~n的值
if m % x == 0 and n % x == 0:#判断能否被m和n同时整除
print('%d是最大公约数'' ''%d是最小公倍数' % (x,(m*n/x)))
break
if m < n:
for x in range(m,0,-1):
if m % x == 0 and n % x == 0:
print('%d是最大公约数'' ''%d是最小公倍数' % (x,(m*n/x)))
break
6.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程:找出1000以内的所有完数
for x in range(1,1000):
sum = 0#每次循环后清零
for y in range(1,x):#公因子在x之前
if x % y == 0:
sum += y#公因子相加
if sum == x:
print(x)
7.输出9*9乘法表
for n in range(1,10):#拎出1~10
for m in range(1,n+1):#所乘次数
res = str(n) + "%s"%('*') + str(m) + '='+str(n*m)
print(res,end=' ')#每次运算后隔一个空格
print()#每次n的运算全部完成后,输出一个换行
8.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
number = 12321
new_num = str(number)#转换成字符串,提取下标
count = 0
for index in range(0,len(new_num)):
if new_num[index] != new_num[5 - index - 1]:
count += 1
if count == 0:
print('%d是回文数' % (number))
9.打印图形(没想明白)
n = 4
for x in range(1,2*n):
if x <= n:
print(' '*(n-x)+'@'*(x)+'@'*(x-1))
else:
print(' '*(x-n)+'@'*()