- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是⼀个数字。例如2+22+222+2222+22222(此时共有5个数相加),⼏个数相加有键盘控制。
str=input('请输入基数')
mul=int(input('请输入要相加的个数'))
sum=0
for x in range(1,mul+1):
sum+=int(str*x)
print('他们的和为%d'%(sum))
结果:
请输入基数2
请输入要相加的个数5
他们的和为24690
- 打印图形1
n = 4
@
@@
@@@
@@@@
n = 5
@
@@
@@@
@@@@
@@@@@
str='@'
mul=int(input('请输入将要打印的层数:'))
for x in range(1,mul+1):
str1=str*x
print(str1.ljust(mul,' '))
结果:
请输入将要打印的层数:4
@
@@
@@@
@@@@
请输入将要打印的层数:5
@
@@
@@@
@@@@
@@@@@
- 打印图形2
n = 3
@
@@@
@@@@@
n == 5
@
@@@
@@@@@
@@@@@@@
str='@'
mul=int(input('请输入将要打印的层数:'))
for x in range(1,mul+1):
str1=str*(2*x-1)
print(str1)
结果:
请输入将要打印的层数:3
@
@@@
@@@@@
请输入将要打印的层数:4
@
@@@
@@@@@
@@@@@@@
- 打印图形3
n = 3
@@@
@@
@
list1=[]
str='@'
mul=int(input('请输入将要打印的层数:'))
for x in range(1,mul+1):
str1=str*x
list1.insert(0,str1)
for x in list1:
print(x)
#终极精简版:
number=int(input('>>>'))
for x in range(number):
str=' '*x
print(str.rjust(number,'@'))
结果:
请输入将要打印的层数:5
@@@@@
@@@@
@@@
@@
@
- 输⼊两个正整数m和n,求其最⼤公约数和最⼩公倍数。
mul1=int(input('请输入第一个正整数:'))
mul2=int(input('请输入第二个正整数:'))
num1=0
num2=0
list1=[]
for x in range(1,int(max([mul1,mul2]))+1):
if mul1%x==0 and mul2%x==0:
list1.append(x)
num1=int(max(list1))
num2=mul1//num1*mul2//num1*num1
print('最大公约数为%d,最小公倍数为%d'%(num1,num2))
结果:
请输入第一个正整数:12
请输入第二个正整数:30
最大公约数为6,最小公倍数为60
- ⼀个数如果恰好等于它的因⼦之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数
for x in range(1,1000+1):
sum = 0
list1=[]
for y in range(1,x):
if x%y==0:
list1.append(y)
for i in list1:
sum+=int(i)
if x==sum:
print('%d是一个完数'%(x))
结果:
6是一个完数
28是一个完数
496是一个完数
- 输出9*9⼝诀
mul1=9
mul2=9
for x in range(1,mul1+1):
if x==1:
pass
else:
print(end='\n')
for y in range(1,mul2+1):
if y<=x:
print('%d×%d=%d'%(y,x,x*y),end=' ')
修正位置:
mul1=9
mul2=9
for x in range(1,mul1+1):
for y in range(1,x+1):
if y==1:
print('%d×%d=%d'%(y,x,x*y),end=' ')
else:
if x*y<10:
print('%d×%d=%d' % (y, x, x * y), end=' ')
else:
print('%d×%d=%d' % (y, x, x * y), end=' ')
print()
简化版:
mul1=9
for i in range(1,mul1+1):
for j in range(1, i):
if j == 1:
print('%d×%d=%d' % (j, i, i * j), end=' ')
else:
print(('%d×%d=%d'% (j, i, i * j)).ljust(6, ' '), end=' ')
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
修正位置:
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
- ⼀个5位数,判断它是不是回⽂数。即12321是回⽂数,个位与万位相同,⼗位与千位相同。
mul=input('请输入一个五位数:')
if mul[0]==mul[4] and mul[1]==mul[3]:
print('%d是回文数'%(int(mul)))
else:
print('%d不是回文数' %(int(mul)))
结果:
请输入一个五位数:12321
12321是回文数
- 打印图形(菱形)
n = 4
@
@@@
@@@@@
@@@@@@@
@@@@@
@@@
@
mul=int(input("请输入半径:"))
str='@'
num=2
for x in range(1,2*mul):
if x<=mul:
str1=str*(2*x-1)
print(str1)
else:
str1=str*(2*(x-num)-1)
num+=2
print(str1)
结果:
请输入半径:4
@
@@@
@@@@@
@@@@@@@
@@@@@
@@@
@
请输入半径:5
@
@@@
@@@@@
@@@@@@@
@@@@@@@@@
@@@@@@@
@@@@@
@@@
@
- 输⼊⼀⾏字符,分别统计出其中英⽂字⺟、空格、数字和其它字符的个数
str1=input('请输入一行字符')
list1=list(str1)
print('输入的字符串为:%s'%(list1))
sum1=0
sum2=0
sum3=0
sum4=0
for x in list1:
str2=str(x)
if str2!=' ':#判断空格
if str2.isnumeric():# 判断数字
sum2+=1
elif str2.isalpha():#判断字母
sum3+=1
else:#判断其他字符
sum4+=1
else:#判断空格
sum1+=1
print('空格有%d个'%(sum1),'数字有%d个'%(sum2),'字母有%d个'%(sum3),'其他符号有%d个'%(sum4),)
结果:
请输入一行字符fas sf32352 '3'42sdfs
输入的字符串为:['f', 'a', 's', ' ', 's', 'f', '3', '2', '3', '5', '2', ' ', "'", "'", '4', '2', 's', 'd', 'f', 's']
空格有2个 数字有7个 字母有9个 其他符号有2个
列表作业
1.已知⼀个列表,求列表中⼼元素。
str1=input('请输入元素:')
list1=list(str1)
long=len(list1)
if long%2==0:
print('中⼼元素是%s和%s'%(list1[int(long/2)-1],list1[int(long/2)]))
else:
print('中⼼元素是%s'%(list1[int((long-1)/2)]))
结果:
请输入元素:gfdg
中⼼元素是f和d
2.已知⼀个列表,求所有元素和。
str1=input('请输入元素:')
list1=list(str1)
sum1=0
for x in list1:
sum1+=ord(x)
# sum1+=int(x)
print('所有元素的Unicode和为%d'%(sum1))
#print('所有元素的和为%d'%(sum1))
结果:
请输入元素:fsd6546 '''.ye
所有元素的Unicode和为947
请输入元素:34646354
所有元素的和为35
3.已知⼀个列表,输出所有奇数下标元素。
list1=list(input("请输入元素:"))
print('添加列表:%s'%(list1))
long=len(list1)
for x in range(1,long,2):
print('奇数下标值:%s'%(list1[x]))
结果:
请输入元素:sdf34asd
添加列表:['s', 'd', 'f', '3', '4', 'a', 's', 'd']
奇数下标值:d
奇数下标值:3
奇数下标值:a
奇数下标值:d
4.已知⼀个列表,输出所有元素中,值为奇数的。
mul1=int(input('请输入数据长度:'))
list1=[]
for x in range(mul1):
mul2 = int(input('请输入第%d整型数字:'%(mul1)))
list1.append(mul2)
print('整型数字列表:%s'%(list1))
for x in list1:
if int(x)%2:
print('元素%d的值为奇数'%(int(x)))
结果:
请输入数据长度:5
请输入第5整型数字:21
请输入第5整型数字:44
请输入第5整型数字:36
请输入第5整型数字:77
请输入第5整型数字:99
整型数字列表:[21, 44, 36, 77, 99]
元素21的值为奇数
元素77的值为奇数
元素99的值为奇数
5.已知⼀个列表,将所有元素乘⼆。
list1=list(input("请输入元素"))
print('添加列表元素:%s'%(list1))
for x in range(len(list1)):
list1[x]*=2
print('输出列表:',end='')
print(list1)
结果:
请输入元素dfs3435sdf''
添加列表元素:['d', 'f', 's', '3', '4', '3', '5', 's', 'd', 'f', "'", "'"]
输出列表:['dd', 'ff', 'ss', '33', '44', '33', '55', 'ss', 'dd', 'ff', "''", "''"]
6.已知⼀个列表,将所有元素加到第⼀个元素中。
str1=input("请输入元素")
list1=list(str1)
print(list1)
while len(list1)!=1:
list1[0]+=list1.pop()
print(list1)
结果:
请输入元素west3456
['w', 'e', 's', 't', '3', '4', '5', '6']
['w6543tse']
7.已知⼀个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。
A=input('请输入一个列表:')
print('添加列表:%s'%(A))
B=[]
C=[]
for x in range(1,len(A),2):
B.append(A[x])
for y in range(0,len(A),2):
C.append(A[y])
print('A列表奇数位置输出列表B=%s'%(B))
print('A列表偶数位置输出列表C=%s'%(C))
结果:
请输入一个列表:gsdt345rwer325
添加列表:['g', 's', 'd', 't', '3', '4', '5', 'r', 'w', 'e', 'r', '3', '2', '5']
A列表奇数位置输出列表B=['s', 't', '4', 'r', 'e', '3', '5']
A列表偶数位置输出列表C=['g', 'd', '3', '5', 'w', 'r', '2']
8.把A列表的前5个元素复制到B列表中。
A=list(input('请输入一个列表长度大于5的列表:'))
print('输入的列表%s'%(A))
B=A[0:5].copy()
print(B)
结果:
请输入一个列表长度大于5的列表:fa5s5dgadter2353
输入的列表['f', 'a', 's', 'd', 'g', 'a', 'd', 't', 'e', 'r', '2', '3', '5', '3']
['f', 'a', 's', 'd', 'g']
9.把1----36分别放⼊列表中,计算列表数组对⻆元素之和。6 * 6的列表
list1=[]
sum1=0
sum2=0
sum3=0
for _ in range(6):
list2=[]
for _ in range(6):
sum1+=1
list2.append(sum1)
list1.append(list2)
for x in range(6):
for y in range(6):
if x==y:
sum2+=int(list1[x][y])
if x+y==5:
sum3+=int(list1[x][y])
print('两个对角线的值分别为%d及%d'%(sum2,sum3))
结果:
两个对角线的值分别为111及111
10.有⼀个⻓度是10的列表,列表内有10个不重复的数字,要求按从⼤到⼩排序。
list1=[]
for x in range(10):
mul1=int(input('请输入第%d个没有输入过的数字:'%(x+1)))
list1.append(mul1)
print('添加列表完成:%s'%(list1))
list1.sort(reverse=True)
print('排序后的列表:%s'%(list1))
结果:
请输入第1个没有输入过的数字:11
请输入第2个没有输入过的数字:33
请输入第3个没有输入过的数字:22
请输入第4个没有输入过的数字:5
请输入第5个没有输入过的数字:44
请输入第6个没有输入过的数字:55
请输入第7个没有输入过的数字:88
请输入第8个没有输入过的数字:66
请输入第9个没有输入过的数字:9
请输入第10个没有输入过的数字:70
添加列表完成:[11, 33, 22, 5, 44, 55, 88, 66, 9, 70]
排序后的列表:[88, 70, 66, 55, 44, 33, 22, 11, 9, 5]
11.有⼀个⻓度是10的列表,要求删除某⼀个位置的元素
list1=[]
for x in range(10):
mul1=input('请输入第%d个元素:'%(x+1))
list1.append(mul1)
print(list1)
mul2=int(input('请输入要删除元素的位置1-10:'))
del list1[mul2-1]
print(list1)
结果:
请输入第1个元素:234
请输入第2个元素:dfg
请输入第3个元素:xvxc
请输入第4个元素:78978
请输入第5个元素:hdf
请输入第6个元素:wr
请输入第7个元素:45
请输入第8个元素:hfj
请输入第9个元素:dgdh
请输入第10个元素:dfgd
['234', 'dfg', 'xvxc', '78978', 'hdf', 'wr', '45', 'hfj', 'dgdh', 'dfgd']
请输入要删除元素的位置1-10:2
['234', 'xvxc', '78978', 'hdf', 'wr', '45', 'hfj', 'dgdh', 'dfgd']
12.有⼀个⻓度是10的列表,按递增排列,⽤户输⼊⼀个数,插⼊适当位置。
list1=[]
for x in range(10):
mul1=int(input('请输入第%d个没有输入过的数字:'%(x+1)))
list1.append(mul1)
print('列表:%s'%(list1))
list1.sort(reverse=False)
print('排序后的列表:%s'%(list1))
mul2=int(input("请用户输入要插入的位置:"))
mul3=int(input("请用户输入要插入的元素:"))
list1.insert(mul2-1,mul3)
print('添加后的列表:%s'%(list1))
list1.sort(reverse=False)
print('排序后的列表:%s'%(list1))
结果:
请输入第1个没有输入过的数字:11
请输入第2个没有输入过的数字:2
请输入第3个没有输入过的数字:33
请输入第4个没有输入过的数字:44
请输入第5个没有输入过的数字:55
请输入第6个没有输入过的数字:66
请输入第7个没有输入过的数字:56
请输入第8个没有输入过的数字:32
请输入第9个没有输入过的数字:45
请输入第10个没有输入过的数字:88
列表:[11, 2, 33, 44, 55, 66, 56, 32, 45, 88]
排序后的列表:[2, 11, 32, 33, 44, 45, 55, 56, 66, 88]
请用户输入要插入的位置:2
请用户输入要插入的元素:90
添加后的列表[2, 90, 11, 32, 33, 44, 45, 55, 56, 66, 88]
排序后的列表:[2, 11, 32, 33, 44, 45, 55, 56, 66, 88, 90]
13.有⼀个⻓度是10的列表,数组内有10个⼈名,要求去掉重复的
list1=[]
for x in range(10):
name=input('请输入第%d个名字:'%(x+1))
list1.append(name)
print('姓名列表:%s'%(list1))
list2=list1.copy()
list3=[]
num=0
for x in range(len(list2)):
if x not in list3:
for y in range(x + 1, len(list2)):
if list2[x] == list2[y]:
list3.append(y)
del list1[y - num]
num += 1
print('没有重复的名字的列表%s'%(list1))
结果:
请输入第1个名字:张三
请输入第2个名字:李四
请输入第3个名字:王五
请输入第4个名字:天明
请输入第5个名字:张三
请输入第6个名字:项羽
请输入第7个名字:虞姬
请输入第8个名字:张三
请输入第9个名字:李四
请输入第10个名字:张良
姓名列表:['张三', '李四', '王五', '天明', '张三', '项羽', '虞姬', '张三', '李四', '张良']
没有重复的名字的列表['张三', '李四', '王五', '天明', '项羽', '虞姬', '张良']
14.把A列表的第三到第六位之间的元素删除。
A=[]
mul1=int(input('请输入列表长度(大于6):'))
for i in range(mul1):
str=input("请输入第%d个元素:"%(i+1))
A.append(str)
print('输入元素为:%s'%(A))
len1=len(A)
num1=0
for x in range(len1):
if 3<=(x+1)<=6:
if num1==0:
del A[x]
num1+=1
else:
del A[x-num1]
num1+=1
print("删除元素后的列表:%s"%(A))
结果:
请输入列表长度(大于6):9
请输入第1个元素:q
请输入第2个元素:w
请输入第3个元素:e
请输入第4个元素:r
请输入第5个元素:t
请输入第6个元素:y
请输入第7个元素:u
请输入第8个元素:i
请输入第9个元素:o
输入元素为:['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o']
删除元素后的列表:['q', 'w', 'u', 'i', 'o']
15.已知A列表,B列表,定义⼀个列表C,要求C包含A,B数组中的数据(⽆重复值)。
A=[23,46,'fdf','wer',56,23]
B=[78,90,'fdf',56,'fsd',56]
C=A.copy()+B.copy()
print('列表C:%s'%(C))
C1=C.copy()
num=0
list1=[]
for x in range(len(C1)):
if x not in list1:
for y in range(x+1,len(C1)):
if C1[x]==C1[y]:
list1.append(y)
del C[y-num]
num+=1
print('无重复元素%s'%(C))
结果:
列表C:[23, 46, 'fdf', 'wer', 56, 23, 78, 90, 'fdf', 56, 'fsd', 56]
无重复元素[23, 46, 'fdf', 'wer', 56, 78, 90, 'fsd']
学生管理系统
flage=True
list1=[]
while flage:
while True:
flage1 = False
list = ['欢迎进入千峰学生管理系统', '', '1.添加学生', '2.查找学生', '3.删除学生', 'q.退出系统']
for x in list:
print(x)
mu11 = input('>>>')
while mu11:
if mu11=='1':
list2 = []
name=input('请输入学生的姓名:')
age=input('请输入学生的年龄:')
photo= input('请输入学生的电话号码:')
list2.append(name)
list2.append(age)
list2.append(photo)
list1.append(list2)
print(list1)
print('1.继续添加')
print('2.返回上一层')
mul2=input('>>>')
if mul2=='1':
mu11='1'
continue
elif mul2=='2':
mu11=''
flage1=True
else:
print('输入格式不对,请返回首页,并严格按照要求进行输入')
mul6=input('请输入1,继续进行操作:')
if mul6=='1':
mu11 = ''
flage1 = True
else:
flage1 = True
flage= False
break
elif mu11=='2':
print('1.查找所有学生')
print('2.根据学生姓名差找学生')
print('3.返回首页')
mul3=input('>>>')
if list1:
if mul3=='1':
for x in list1:
print('name:%s'%(x[0]),'age:%s'%(x[1]),'tel:%s'%(x[2]))
elif mul3=='2':
str=input('请输入姓名:')
for y in list1:
if str in y:
print('name:%s'%(y[0]),'age:%s'%(y[1]),'tel:%s'%(y[2]))
elif mul3=='3':
mu11=''
flage1=True
else:
print('输入格式不对,请返回首页,并严格按照要求进行输入')
mul6 = input('请输入1,继续进行操作:')
if mul6 == '1':
mu11 = ''
flage1 = True
else:
flage1 = True
flage = False
break
else:
print('没有保存学生信息,请返回首页去设置')
mul6 = input('请输入1,继续进行操作:')
if mul6 == '1':
mu11 = ''
flage1 = True
break
else:
flage1 = True
flage = False
break
elif mu11=='3':
name_del=input('请输入要删除学生的姓名:')
num = 0
if list1:
for x in list1:
if name_del in x:
print('%d '%(num),'name:%s'%(x[0]),'age:%s'%(x[1]),'tel:%s'%(x[2]))
num+=1
mul4=int(input('>>>'))
del list1[mul4]
else:
print('没有保存学生信息,请返回首页去设置')
mul6 = input('请输入1,继续进行操作:')
if mul6 == '1':
mu11 = ''
flage1 = True
break
else:
flage1 = True
flage = False
break
print('1.继续删除')
print('2.返回上一层')
mul2 = input('>>>')
if mul2 == '1':
mu11 = '3'
continue
elif mul2 == '2':
mu11 = ''
flage1 = True
else:
print('输入格式不对,请返回首页,并严格按照要求进行输入')
mul6=input('请输入1,继续进行操作:')
if mul6=='1':
mu11 = ''
flage1 = True
else:
flage1 = True
flage= False
break
elif mu11=='q':
flage=False
flage1=True
break
else:
mu15=input('没有这个选项,请重新选择')
if '1'<=mu15<='3':
mu11=mu15
continue
if flage1:
break
if flage:
pass
else:
print('欢迎下次登录')