2018-07-21 作业
2018-07-21 本文已影响0人
Kris_Shin
作业
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.pngn = int(input('输入一个正整数:'))
for i in range(n):
for _ in range(i + 1):
print('@', end='')
print()
3.打印图形2
22.pngn = 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.pngn = 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.pngfor 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.pngn = 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))
总结:
难度比较小很快就做出来了,希望能有更难得题练习