1、输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开,并将输入字符按首字母大写居中,每个单词首字母大写左对齐,全小写,全大写右对齐的方式分别输出。如输入:This is a c++ program.输出:There are 5 words in the line.
a=input('请输入一行字符:')
print("This are",a.count(' ',0,len(a))+1,"words in the line")
print('首字母大写居中:',a.capitalize().center(50,'-'))
print('每个首字母大写左对齐:',a.title().ljust(50,'-'))
print('全小写右对齐:',a.lower().rjust(50,'-'))
print('全大写右对齐:',a.upper().rjust(50,'-'))
运行结果如下所示:
2、写代码,有如下变量,请按照要求实现每个功能,name=”aleX“
a、移除name变量对应的值两边的空格,并输出移除后的内容;b、请输出name变量对应的值的前3个字符;c、将name变量对应的值分别变成大写和小写,并输出结果;d、请输出name变量对应的值的第2个字符;e、请输出name变量对应的值中”e“所在索引位置。
name=' aleX '
print('取掉值两边的空格:',name.strip(' '))
print('取前三个字符:',name.strip(' ').rstrip('X'))
print('全部大写:',name.upper())
print('全部小写:',name.lower())
print('第2个字符:',name[1])
print('e所在索引位置:''',name.index('e'))
运行结果如下所示:
3、输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符,例如,输入“They are students.”和”aoeiu”,则删除之后的第一个字符串变成“Thy r stdnts.”
m=input("请输入字符串A:")
n=input("请输入字符串B:")
w=" "
for i in m:
if i not in n or i==" ":
w+=i
print("提出结果为",w)
运行结果如下所示:
4、使用函数完成以下菜单功能:要求菜单中的每一个功能都要实现;实现菜单中每个功能的函数及实现每个功能对应的运行结果。
stuInfos=[]
def printMenu():
print("="*30)
print("学生管理系统V1.0")
print("1.增加学生信息")
print("2.删除学生信息")
print("3.修改学生信息")
print("4.显示所有学生信息")
print("0.退出系统")
print("-" * 30)
#增加学生信息
def addstuInfo():
result=getInfo()
newInfo={}
newInfo['name']=result[0]
newInfo['sex'] = result[1]
newInfo['phone'] = result[2]
stuInfos.append(newInfo)
print("已添加成功")
#修改学生信息
def modifyStuInfo():
stuId=int(input("请输入要修改的学生序号:"))
getInfo()
stuInfos[stuId-1]['name']=newName
stuInfos[stuId - 1]['sex'] = newSex
stuInfos[stuId - 1]['phone'] = newPhone
print("已修改成功")
#删除学生信息
def del_info(student):
del_number = int(input("请输入要删除的序号:")) - 1
del student[del_number]
print('已删除成功')
#获取学生信息
def getInfo():
global newName
global newSex
global newPhone
newName=input("请输入学生的姓名:")
newSex=input("请输入学生的性别:")
newPhone=input("请输入学生的电话:")
return [newName,newSex,newPhone]
def main():
while True:
printMenu()
key=input("请输入你要选择的操作:")
if key=='0':
exit()
elif key=='1':
addstuInfo()
elif key=='2':
del_info(stuInfos)
elif key=='3':
modifyStuInfo()
elif key=='4':
print("="*30)
print("学生的信息如下:")
print("序号 姓名 性别 手机号码")
i=1
for tempInfo in stuInfos:
print("%d %s %s %s"%(i,tempInfo['name'],
tempInfo['sex'],tempInfo['phone']))
i+=1
else:
print('输入有误,请重新输入!')
main()
分别进行运行增删改查等操作,显示效果如下所示:
5、随机生成20个学生的成绩(1-100),判断这20个学生成绩的等级为(90-100为A,80-90为B,其他为C)。
import random
def get_level(score):
if 90 < score <= 100:
return 'A'
elif 80 < score <= 90:
return 'B'
else:
return 'C'
for i in range(1,21):
score = random.randint(1,100)
print('第',i,'个学生'"成绩为%s, 等级为%s"
%(score,get_level(score)))
6、现有两个数组:A=[11,22,33],B={“aa”:1, “bb”:2, “cc”:3},按上课内容完成不定长参数的定义及三种不同调用方式(非解包,只解包A,同时解包A、B)。
def test(a,b,*args,**kwargs):
print(a)
print(b)
print(args)
print(kwargs)
return 'k'
A=[11,22,33]
B={'aa':1,'bb':2,'cc':3}
print('---------------非解包---------------')
test(11,22,A,B)
print('-'*40)
test(11,22,A,k=B)
print('---------------只解包A---------------')
test(11,22,*A,B)
print('------------同时解包A、B-------------')
test(11,22,*A,**B)
运行结果如下所示:
7、使用时间函数获得当前时间,按格式”%Y-%m-%d %H:%M:%S”输出。
8、获取2019年6月,第一个星期一,第二个星期二,第三个星期三,第四个星期五的日期,打印结果如下图所示:
import calendar
y=int(input('请输入年份:'))
m=int(input('请输入月份:'))
m_d_list=calendar.monthcalendar(y,m)
print(m_d_list)
if m_d_list[0][0]==0:
print(str(y)+'第一个星期一为'+str(m)+'月',m_d_list[1][0],'号')
else:
print(str(y)+'第一个星期一为'+str(m)+'月',m_d_list[0][0],'号')
if m_d_list[0][1]==0:
print(str(y)+'第二个星期二为'+str(m)+'月',m_d_list[2][1],'号')
else:
print(str(y)+'第二个星期二为'+str(m)+'月',m_d_list[1][1],'号')
if m_d_list[0][2]==0:
print(str(y)+'第三个星期三为'+str(m)+'月',m_d_list[3][2],'号')
else:
print(str(y)+'第三个星期三为'+str(m)+'月',m_d_list[2][2],'号')
if m_d_list[0][4]==0:
print(str(y)+'第四个星期五为'+str(m)+'月',m_d_list[4][4],'号')
else:
print(str(y)+'第四个星期五为'+str(m)+'月',m_d_list[3][4],'号')
运行结果如下所示:
9、使用time函数获取当前时间的年份,月份及当天属于当前的第几天,属于当月的第几天,打印结果如下图所示:
import time
print('当前时间年份',time.gmtime().tm_year)
print('当前时间月份',time.gmtime().tm_mon)
print('今天为今年的第',time.gmtime().tm_yday,'天')
print('今天为这月的第',time.gmtime().tm_mday,'天')
运行结果如下所示:
10、将日期“Sat Mar 28 22:24:24 2016”字符串转换为”2016-03-28 22:24:24”的形式显示
import time
x=time.strptime('Sat Mar 28 22:24:24 2016','%a %b %d %H:%M:%S %Y')
y=time.strftime('%Y-%m-%d %H:%M:%S',x)
print('原:Sat Mar 28 22:24:24 2016')
print('转换后',y)
运行结果如下所示:
11、打印出所有1998~2019年之间所有闰年的年日历,年份之间以‘-’分割线分割,分割线宽度需要与日历宽度保持一致,且每个年份日历打印之前居中打印年份信息,具体如下图所示:
import calendar
i=0
for i in range(1998,2019):
if calendar.isleap(i):
print((str(i)+'年日历').center(21*2_18+2*6,'-'))
calendar.prcal(i)
print('-'*(21*2+18+2*6+3))
12、一辆旅游车去每个村庄游玩,每经过一个村子汽油消耗去所所剩汽油的一半又一升。 这样他经过了七个村子后还剩两升油,问他出发时共加了多少油?经过 每两个村子之间消耗了多少油?(要求必须使用递归函数)
def transation(duck,village):
if village==1:
print('总共有'+str(duck)+'升油')
return duck
else:
duck1=(duck+1)*2
print('第'+str(village-1)+'个村庄到第'+str(village)+'村庄之间消耗'+str(duck)
+'升油','剩余'+str(int(duck1/2-1))+'升油')
return transation(duck1,village-1)
transation(2,7)