Day5作业

2018-07-22  本文已影响0人  zhazhaK丶

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))
上一篇下一篇

猜你喜欢

热点阅读