1. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
num = '5'
sum1 = 0
x = int(input('请输入相加的次数'))
for x in range(1,x + 1):
n = num
num *= x
sum1 += int(num)
num = n
print(sum1)
运行结果:
请输入相加的次数5
61725
2.打印图形1
@
@@
@@@
@@@@
num = 0
while num < 5:
x = '@' * num
print(x,end='\n')
num += 1
num = 0
while num < 6:
x = '@' * num
print(x,end='\n')
num += 1
3. 打印图形2
# @
# @@@
# @@@@@
# @@@@@@@
for a in range(1,5):
for x in range(1,5 - a):
print(end=' ')
for y in range(1,2 * a):
print('@',end='')
print('')
4. 打印图形3
n = 3
@@@
@@
@
n = 3
while n > 0:
x = '@' * n
print(x,end='\n')
n -= 1
5. 输⼊两个正整数m和n,求其最大公约数和最小公倍数
m = int(input('请输入第一个整数:'))
n = int(input('请输入第二个整数:'))
if m > n:
for a in range(1, n + 1):
if m % a == 0 and n % a ==0:
x = a
print('最大公约数是%d' % x)
else:
for a in range(1, m + 1):
if m % a == 0 and n % a ==0:
x = a
print('最大公约数是%d' % x)
for a in range(1,m * n + 1):
if a % m == 0 and a % n == 0:
print('最小公倍数是%d' % a)
break
6. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程找出1000以内的所有完数
sum1 = 0
for a in range(1,1001):
for b in range(1,a):
if a % b == 0:
sum1 += b
if sum1 == a:
print(sum1)
7. 输出9*9口诀
for x in range(1,10):
for y in range(1,x+1):
n = x * y
print('%d*%d=%d' % (x,y,n),end=' ')
print()
1. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
num = int(input('请输入一个5位数:'))
if num // 10000 == num % 10 and num // 1000 % 10 == num // 10 % 10:
print('%d是一个回文数!' % num)
else:
print('%d不是一个回文数,请重新输入!' % num)
2. 打印图形(菱形)
# n = 4
# @
# @@@
# @@@@@
# @@@@@@@
# @@@@@
# @@@
# @
n = 4
for a in range(1,n + 1):
for x in range(1,n-a+1):
print(end=' ')
for y in range(1,2*a):
print('@',end='')
print('')
for a in range(n-1):
for x in range(a + 1):
print(end=' ')
for y in range(5 - 2 * a):
print('@',end='')
print('')
3. 输入一行字符,分别统计出其中英文字⺟、空格、数字和其它字符的个数。
str1 = input('请输入一行字符')
letters = 0
space = 0
digit = 0
others = 0
for x in str1[:]:
if x.isalpha():
letters += 1
elif x.isspace():
space += 1
elif x.isdigit():
digit += 1
else:
others += 1
print('字母有%d个,空格有%d个,数字有%d个,其他有%d个' % (letters,space,digit,others))