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]