美文网首页
2018-07-21 作业

2018-07-21 作业

作者: Kris_Shin | 来源:发表于2018-07-21 11:00 被阅读0次

作业

1.已知一个列表,求列表中心元素。

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
center = 0
if not (len(list1) % 2):
    center = list1.pop(list1[(len(list1)-1) // 2]-1)
    print(center)
    center = list1.pop(list1[(len(list1)-2) // 2]-1)
    print(center)
else:
    center = list1.pop(list1[(len(list1)-1) // 2]-1)
    print(center)

2.已知一个列表,求所有元素和。

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
print(sum(list1))

3.已知一个列表,输出所有奇数下标元素。

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
for x in range(len(list1)):
    if x % 2:
        print(list1[x])

4.已知一个列表,输出所有元素中,值为奇数的。

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
for x in list1:
    if x % 2:
        print(x)

5.已知一个列表,将所有元素乘二。

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
print(list(i*2 for i in list1))

6.已知一个列表,将所有元素加到第一个元素中。

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
for x in range(len(list1)):
    if x > 0:
        list1[0] += list1[x]
print(list1[0])

7.已知一个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。

A = [1, 2, 3, 4, 5, 6, 7, 8]
B, C = [], []
for x in range(len(A)):
    if x % 2:
        B.append(A[x])
    else:
        C.append(A[x])
print(A, B, C)

8.把A列表的前5个元素复制到B列表中。

A = [1, 2, 3, 4, 5, 6, 7, 8]
B = A[:5]
print(A, B)

9.把1----36分别放入列表中,计算列表数组对角元素之和。6 * 6的列表

m, n = 6, 6
list1 = [[0 for i in range(m)] for j in range(n)]
for i in range(6):
    for j in range(6):
        list1[i][j] = i * 6 + j + 1
print(list1[0][0] + list1[5][5] + list1[0][5] + list1[5][0])

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

lst1 = []
for i in range(10):
    lst1.append(random.randint(1, 100))
lst1.sort()
print(lst1)

11.有⼀个⻓度是10的列表,要求删除某⼀个位置的元素

lst1 = []
for i in range(10):
    lst1.append(random.randint(1, 100))
print(lst1)
pos = int(input('请输入要删元素的下标:'))
del lst1[pos]
print(lst1)

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

lst1 = []
for i in range(10):
    lst1.append(random.randint(1, 100))
print(lst1)
pos = int(input('请输入要插入元素的下标:'))
unit = input('请输入要插入的元素:')
lst1.insert(pos, unit)
print(lst1)

13.有⼀个⻓度是10的列表,数组内有10个⼈名,要求去掉重复的

names = ['韦德', '威少', '欧文', '乔丹', '科比', '韦德', '波什', '乔丹', '哈登', '乔丹']
for n in names[:]:
    count = 0
    for i in names[:]:
        if n == i:
            count += 1
            if count > 1:
                names.remove(i)
print(names)

14.把A列表的第三到第六位之间的元素删除。

A = [1, 2, 3, 4, 5, 6, 7, 8]
for _ in range(6-3+1):
    del A[3]
print(A)

15.已知A列表,B列表,定义⼀个列表C,要求C包含A,B数组中的数据(无重复值)。

A = [1, 2, 3, 4, 5, 6, 7, 8]
B = [1, 5, 7, 9, 23, 6, 31, 52, 98]
C = A + B
for i in C[:]:
    count = 0
    for j in C[:]:
        if j == i:
            count += 1
            if count > 1:
                C.remove(i)
print(C)

1. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

n = int(input('输入个整数:'))
temp = 0
list1 = []
for i in range(a):
    temp += n * 10 ** i
    list1.append(temp)
print(sum(list1))

2. 打印图形1

21.png
n = int(input('输入一个正整数:'))
for i in range(n):
    for _ in range(i + 1):
        print('@', end='')
    print()

3.打印图形2

22.png
n = int(input('输入一个正整数:'))
for i in range(n):
    for _ in range(n - i, 0, -1):
        print(' ', end='')
    for _ in range(i * 2 + 1):
        print('@', end='')
    print()

4.打印图形3

23.png
n = int(input('输入一个正整数:'))
for i in range(n):
    for _ in range(n - i, 0, -1):
        print('@', end='')
    print()

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

m = int(input('m:'))
n = int(input('n:'))
flag = True
for i in range(min(n, m), 1, -1):  ## 最大公约数
    if (not (m % i)) and (not (n % i)):
        print('最大公约数:', i)
        break
for i in range(min(n, m), n * m + 1):  ## 最小公倍数
    if (not (i % m)) and (not (i % n)):
        print('最小公倍数:', i)
        break

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

for i in range(2, 1001):
    sum1 = 0
    for j in range(1, i):
        if not (i % j):
            sum1 += j
        if j == i - 1:
            if sum1 == i:
                print(i)

7. 输出9*9口诀

24.png
for i in range(1, 10):
    for j in range(1, i + 1):
        print('%dx%d=%d' % (j, i, i * j), end=' ')
        if j == i:
            print()

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

num = random.randint(10000, 99999)
s1 = str(num)
s2 = ''
for i in range(len(s1) - 1, -1, -1):
    s2 += s1[i]
if s1 == s2:
    print(s1, '是回文数')
else:
    print(s1)

2.打印图形(菱形)

25.png
n = int(input('n:'))
j = 0
flag = True
while 0 <= j < n:
    for k in range(n - j, 0, -1):
        print(' ', end='')
    for k in range(j * 2 + 1):
        print('@', end='')
    print()
    if j == n - 1:
        flag = False
    if flag:
        j += 1
    else:
        j -= 1

3. 输⼊入⼀⾏字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

ipt = input('输入:')
letter = 0
number = 0
whitespace = 0
other = 0
for i in ipt:
    if i.isdigit():
        number += 1
    elif i.isalpha():
        letter += 1
    elif i == ' ':
        whitespace += 1
    else:
        other += 1

print(```
letter = %d
number = %d
whitespace = %d
other = %d
``` % (letter, number, whitespace, other))

总结:

难度比较小很快就做出来了,希望能有更难得题练习

相关文章

网友评论

      本文标题:2018-07-21 作业

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