美文网首页
day5-练习题

day5-练习题

作者: RurouniKenshin | 来源:发表于2018-07-20 19:01 被阅读89次

    1题.取a=6,n为键盘控制的相加次数

    n = input('please put the n:')
    s = 0
    a = '6'
    for i in range(1,int(n)+1):
        s += int(a*i)
    print('the result is: %d' % (s))
    

    2题.打印图形1

    n = input('please put the n:')
    print('the shape is:')
    for i in range(1,int(n)+1):
        str = '@'*i
        print(str)
    

    3题.打印图形2

    n = input('please put the n:')
    print('the shape is:')
    for i in range(1,int(n)+1):
        str = '@'*(2*i-1)
        print(str.center(2*int(n)-1,' '))
    

    4题.打印图形3

    n = input('please put the n:')
    print('the shape is:')
    for i in range(1,int(n)+1):
        str = '@'*(int(n)+1-i)
        print(str)
    

    5题.输入两个正整数m和n,求其最大公约数和最小公倍数。

    m = input('please put the m:')
    n = input('please put the 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('the greatest common divisor of %s and %s is %d'%(m,n,num1))
            break
    while True:
        num2 = count*int(m)
        if num2 % int(n) == 0:
            print('the least common multiple of %s and %s is %d'%(m,n,num2))
            break
        count += 1
    

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

    list_pn = []
    for i in range(1,1001):
        sum1 = 0
        for x in range(1,i):
            if i % x == 0:
                sum1 += x
        if sum1 == i:
            list_pn.append(i)
    print('the list of perfect number between 1 and 1000 is:',list_pn)
    

    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()
    

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

    num = input('please put a five-digit number:')
    flag = 1
    for index in range(len(num)):
        if num[index] != num[len(num)-1-index]:
            flag = 0
            break
    if flag == 0:
        print('%s is not a palindromic number'%(num))
    else:
        print('%s is a palindromic number'%(num))
    

    9题.打印图形(菱形)

    n = input('please put the n:')
    print('the shape is:')
    for i in range(1,int(n)+1):
        str = '@'*(2*i-1)
        print(str.center(2*int(n)-1,' '))
    for i in range(1, int(n)):
        str = '@' * (2 * (int(n)-i) - 1)
        print(str.center(2 * int(n) - 1, ' '))
    

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

    注:经过查阅unicode码得出的各种字符的范围
    数字:48 - 57 a-z:97 - 122 A-Z:65 - 90 空格:32 类型都以字符类型为准,提供一个思路

    str1 = input('please put a long string: ')
    list_str = list(str1)
    letter_number = 0
    number_number = 0
    blank_number = 0
    other_number = 0
    for s in list_str:
        if  65 <= ord(s) <= 90 or 97 <= ord(s) <= 122:
            letter_number += 1
        elif ord(s) == 32:
            blank_number += 1
        elif 48 <= ord(s) <= 57:
            number_number += 1
        else:
            other_number += 1
    print('letter_number is %d' % (letter_number))
    print('blank_number is %d' % (blank_number))
    print('number_number is %d' % (number_number))
    print('other_number is %d' % (other_number))
    

    相关文章

      网友评论

          本文标题:day5-练习题

          本文链接:https://www.haomeiwen.com/subject/uiuqmftx.html