作业

day5作业

sum = 0
d = 0
a = int(input('请输入a的值:'))
b = int(input('请输入相加数的个数:'))
for i in range(b):
    d = d * 10 + a
    sum += d
    print(d,end=' ')
    if i != b-1:
        print('+',end=' ')
print('=',sum)

结果

请输入a的值:3
请输入相加数的个数:4
3 + 33 + 333 + 3333 = 3702


请输入a的值:6
请输入相加数的个数:5
6 + 66 + 666 + 6666 + 66666 = 74070
a = int(input('请输入打印图形的数量:'))
for b in range(1,a+1):
        print('@'*b)
        
结果
请输入打印图形的数量:4
@
@@
@@@
@@@@
i = int(input('请输入打印图形的行数:'))
for a in range(1,i+1):
    print(' '*(i-a),end='')
    print('@'*(2*a-1))

结果
请输入打印图形的行数:5
    @
   @@@
  @@@@@
 @@@@@@@
@@@@@@@@@
i = int(input('请输入打印图形的数目:'))
for a in range(i):
    print('@'*(i-a))
    
结果
请输入打印图形的数目:4
@@@@
@@@
@@
@

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

m = int(input('请输入一个正整数:'))
n = int(input('请再输入一个正整数:'))
i = 0
if m > n:
    i = n
i = m
while  m % i != 0 or n % i != 0:
    i -= 1
print(m,'和',n,'的最大公约数是',i)

if m > n:
    i = m
i = n
while  i % m != 0 or i % n != 0:
    i += 1
print(m,'和',n,'的最大公倍数是',i)

结果
请输入一个正整数:48
请再输入一个正整数:124
48 和 124 的最大公约数是 4
48 和 124 的最大公倍数是 1488

找出1000以内所有的完数

for a in range(2,1000):
    i = 0
    for b in range(1,a):
        if a % b == 0:
            i += b
    if i == a:
        print(i)
        
结果
6
28
496

输出9*9口诀

for a in range(1,10):
    for b in range(1,a+1):
        print(b,'*',a,'=',b*a,end='  ')
        if a == b:
            print()

结果
1 * 1 = 1  
1 * 2 = 2  2 * 2 = 4  
1 * 3 = 3  2 * 3 = 6  3 * 3 = 9  
1 * 4 = 4  2 * 4 = 8  3 * 4 = 12  4 * 4 = 16  
1 * 5 = 5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
1 * 6 = 6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
1 * 7 = 7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
1 * 8 = 8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
1 * 9 = 9  2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  

一个五位数,判断它是不是回文数

a = int(input('请输入一个五位数:'))
if a > 9999 and a < 100000:
    if a//10000 == a%10 and a//1000%10 == a//10%10:
        print(a,'是回文数')
    else:
        print(a,'不是回文数')

结果
请输入一个五位数:12345
12345 不是回文数

请输入一个五位数:12521
12521 是回文数

打印菱形

i = int(input('请输入打印菱形的数目:'))
for a in range (-i+1,i):
    if a <= 0:
        print(' '*(-a),end='')
        print('@'*((2*i-1)+2*a))
    else :
        print(' '*a,end='')
        print('@'*((2*i-1)-2*a))

结果
请输入打印菱形的数目:6
     @
    @@@
   @@@@@
  @@@@@@@
 @@@@@@@@@
@@@@@@@@@@@
 @@@@@@@@@
  @@@@@@@
   @@@@@
    @@@
     @

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

i = input('请输入字符:')
a = len(i)
s = 0
n = 0
d = 0
for b in range(a):
    if ord(i[b]) >= 65 and ord(i[b]) <= 90:
        s +=1
    if ord(i[b]) >= 97 and ord(i[b]) <= 122:
        s += 1
    if ord(i[b]) >= 48 and ord(i[b]) <= 57:
        n +=1
    if ord(i[b]) == 32:
        d += 1
print('字符中含有英文字母的个数是',s)
print('字符中含有数字的个数是',n)
print('字符中含有空格的个数是',d)

结果
请输入字符:chen ZhUo   123
字符中含有英文字母的个数是 8
字符中含有数字的个数是 3
字符中含有空格的个数是 4

列表作业

list1 = [56, 78, 93, 52, 60, 39, 45]

求列表中心元素

a = len(list1)
index = int(a/2)
if a % 2 == 0:
    print(list1[index-1:index+1])
else:
    print([list1[index]]))

结果
[52]

求列表元素和

a = 0
for item in list1:
    a += item
print(a)

结果
423

输出所有奇数下标元素

a = len(list1)
b = []
for index in range(a):
    if index % 2 != 0:
        b.append(list1[index])
print(b)

结果
[78, 52, 39]

输出值为奇数的元素

b = []
for item in list1:
    if item % 2 != 0:
        b.append(item)
print(b)

结果
[93, 39, 45]

将所有元素乘以二

b = []
for item in list1:
    item *= 2
    b.append(item)
print(b)

结果
[112, 156, 186, 104, 120, 78, 90]

将所有元素加到第一个元素中

b = []
for i in list1:
    b.append(i)
list1[0] = b
print(list1)

结果
[[56, 78, 93, 52, 60, 39, 45], 78, 93, 52, 60, 39, 45]

将奇数位置元素存到b列表中,将偶数元素存到c列表中

list1 = [56, 78, 93, 52, 60, 39, 45]
a = len(list1)
b = []
for index in range(a):
    if index % 2 != 0:
        b.append(list1[index])
print('b列表',b)
c = []
for item in list1:
    if item % 2 == 0:
        c.append(item)
print('c列表',c)

结果
b列表 [78, 52, 39]
c列表 [56, 78, 52, 60]

将a列表的前5个元素复制到b列表中

a = [56, 78, 93, 52, 60, 39, 45]
b = []
for item in range(5):
    b.append(a[item])
print('a列表',a)
print('b列表',b)

结果
a列表 [56, 78, 93, 52, 60, 39, 45]
b列表 [56, 78, 93, 52, 60]

有一个长度10的列表,列表内有10个不重复的数字,要求按从大到小排序

str1 = [12, 36, 25, 17, 19, 50, 94, 61, 37, 65]
print(len(str1))
str1.sort()
print(str1[::-1])

结果
10
[94, 65, 61, 50, 37, 36, 25, 19, 17, 12]

有一个长度是10的列表,要求删除某一个位置的元素

str1 = [12, 36, 25, 17, 19, 50, 94, 61, 37, 65]
b = len(str1)
while b-1 != 0:
    for i in range(10):
        b = len(str1)
        print('请输入下标 0  - ',b-1,'的数字')
        a = int(input('>>>'))
        if a >= 0 and a < b:
            del str1[a]
            print(str1)
        else:
            break

结果
10
[94, 65, 61, 50, 37, 36, 25, 19, 17, 12]
请输入下标 0  -  9 的数字
>>>5
[12, 36, 25, 17, 19, 94, 61, 37, 65]
请输入下标 0  -  8 的数字
>>>6

有一个长度是10的列表,按递增排列,用户输入一个数,插入适当的位置。

str1 = [12, 17, 19, 25, 36, 37, 50, 61, 65, 94]
print(str1)
while True:
    c = len(str1)
    b = int(input('请输入一个数:'))
    for i in range(c-1):
        if b <= str1[i]:
            str1.insert(i, b)
            print(str1)
            break
        if b >= str1[c-1]:
            str1.append(b)
            print(str1)
            break

结果
[12, 17, 19, 25, 36, 37, 50, 61, 65, 94]
请输入一个数:56
[12, 17, 19, 25, 36, 37, 50, 56, 61, 65, 94]
请输入一个数:100
[12, 17, 19, 25, 36, 37, 50, 56, 61, 65, 94, 100]
请输入一个数:11
[11, 12, 17, 19, 25, 36, 37, 50, 56, 61, 65, 94, 100]
请输入一个数:39

把a列表的第三到第六之间的元素删除

a = [12, 36, 25, 17, 19, 50, 94, 61, 37, 65]
for i in range(5,3,-1):
    del a[i]
print(a)

结果
[12, 36, 25, 17, 94, 61, 37, 65]

已知a列表,b列表,定义一个c列表,要求c包含a,b数组中的数据且无重复值

a = [12, 36, 25, 17, 19, 50, 94, 61, 37, 65]
b = [17, 20, 38, 36, 88, 37, 75, 81, 64, 61]
c = a + b
print(c)
c.sort()
print(c)
for f in range(15):
    if c[f] == c[f+1]:
        del c[f]
print(c)

结果
[12, 36, 25, 17, 19, 50, 94, 61, 37, 65, 17, 20, 38, 36, 88, 37, 75, 81, 64, 61]
[12, 17, 17, 19, 20, 25, 36, 36, 37, 37, 38, 50, 61, 61, 64, 65, 75, 81, 88, 94]
[12, 17, 19, 20, 25, 36, 37, 38, 50, 61, 64, 65, 75, 81, 88, 94]

你可能感兴趣的:(作业)