day_05作业

2018-07-21  本文已影响0人  我是一只菜鳥

作业1.求s = a + aa + ... + aa..aa,其中a是一个数字(如a=5),几个数字相加由键盘输入

num = input('请输入要相加的数字(1-9):')
time = int(input('请输入有几个数字相加:'))

sum = 0
for x in range(1, time+1):
    sum += int(num*x)
print(sum)

作业2.打印图形1
n = 4
@
@@
@@@
@@@@
n = 5
@
@@
@@@
@@@@
@@@@@

graph = '@'
count = int(input('请输入要打印图形的行数:'))

for x in range(1, count+1):
    print(graph*x)

作业3.打印图形2
n = 3
       @
   @@@
@@@@@
n = 4
         @
      @@@
   @@@@@
@@@@@@@

graph = '@'
count = int(input('请输入要打印图形的行数:'))

for x in range(1, count+1):
    str1 = ' '
    print(str1*(count-x+1)+graph*(2*x-1))

作业4.打印图形3
n = 3
@@@
@@
@

graph = '@'
count = int(input('请输入要打印图形的行数:'))

for x in range(1, count+1):
    print(graph*(count-x+1))

作业5.输入两个数,求其最大公约数和最小公倍数

num1 = int(input('请输入第一个正整数:'))
num2 = int(input('请输入第二个正整数:'))
gcd = 1  # 最大公约数
lcm = 1  # 最小公倍数

if max(num1,num2) % min(num1,num2) == 0:
    gcd = min(num1,num2)
    lcm = max(num1,num2)
else:
    for x in range(1, min(num1, num2) + 1):
        if num1 % (min(num1, num2)+1-x) == 0 and num2 % (min(num1, num2)+1-x) == 0:
            gcd = min(num1, num2)+1-x
            # lcm = (min(num1, num2)+1-x) * (num1 / (min(num1, num2)+1-x)) * (num2 / (min(num1, num2)+1-x))
            lcm = num1 * num2 / (gcd)
            break
print('最大公约数:%d 最小公倍数:%d' % (gcd, lcm))

作业6.一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数

for x in range(1, 1000):
    sum = 0
    for y in range(1, x+1):
        if x % y == 0 and x != y:
            sum += y
    if x == sum:
        print('完数:%d' % x)

作业7.输出九九乘法表

for x in range(1, 10):
    for y in range(1, x+1):
        print('%d*%d=%d ' % (y,x,x*y), end=' ',sep='')
    print()

作业8.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

num = input('请输入一个五位数:')

if num[0] == num[4] and num[1] == num[3]:
    print('%s是回文数' % num)
else:
    print('%s不是回文数' % num)

作业9.打印图形(菱形)
n = 4
          @
      @@@
   @@@@@
@@@@@@@
   @@@@@
      @@@
         @

graph = '@'
count = int(input('请输入要打印图形的n的行数:'))

for x in range(1, 2*count):
    str1 = ' '
    if x <= count:
        print(str1 * (count - x + 1) + graph * (2 * x - 1))
    else:
        print(str1 * (x - count + 1) + graph * (2 * (2 * count - x) - 1))

作业10.输一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

# 创建字母列表
letter = list(chr(i) for i in range(97, 123))
letter += list(chr(i) for i in range(65, 91))
# 创建数字列表
number = list(str(i) for i in range(10))
# 创建空格列表
space = [' ']
# 统计个数
lett = 0
num = 0
spa = 0
oth = 0
str1 = list(input('请输入一行字符:'))
for item in str1:
    if item in letter:
        lett += 1
    elif item in number:
        num += 1
    elif item in space:
        spa += 1
    else:
        oth += 1

print('字母个数:%d ,数字个数:%d ,空格个数:%d ,其它字符:%d' % (lett, num, spa, oth))
上一篇下一篇

猜你喜欢

热点阅读