1、输入自己的个人信息(学号,姓名,专业,性别等)并输出控制台。
PI= input ( "请输入个人信息(按学号,姓名,专业,性别依次输入并以一个空格隔开):" )
ls= PI. split( )
print ( "你的学号是{},你的姓名是{},你的专业是{},你的性别是{}" . format ( ls[ 0 ] , ls[ 1 ] , ls[ 2 ] , ls[ 3 ] ) )
2、设计一个程序,实现判断是否是闰年。
import os
year= input ( "请输入当前年份:" )
number= int ( year)
if number% 4 == 0 and number% 100 != 0 or number% 400 == 0 :
print ( "今年是闰年" )
else :
print ( "今年不是闰年" )
os. system( "pause" )
3、输入一个正整数,反转这个数字,例如输入123,输出321.
number= input ( "请输入一个正整数:" )
turn= number[ : : - 1 ]
print ( "这个正整数的反转为:{}" . format ( turn) )
4、输入两个整数,求两个给定正整数的最大公约数和最小公倍数。
u= input ( "请输入两个整数(中间以空格隔开):" )
u1= u. split( )
num1, num2= int ( u1[ 0 ] ) , int ( u1[ 1 ] )
if ( num1== num2) :
print ( "两个给定正整数的最大公约数为%d" % ( num1) )
print ( "两个给定正整数的最小公倍数为%d" % ( num1) )
else :
a= num1
b= num2
while ( num1% num2!= 0 ) :
r= num1% num2
num1= num2
num2= r
print ( "两个给定正整数的最大公约数为%d" % ( r) )
p= a/ r
q= b/ r
cm= p* q* r
print ( "两个给定正整数的最小公倍数为%d" % ( cm) )
5、输出前1000的素数。
for i in range ( 2 , 1001 ) :
judge= 0
for j in range ( 1 , i+ 1 ) :
if i% j== 0 :
judge+= 1
if judge== 2 :
print ( "%d" % ( i) )
6、给出 n,输出杨辉三角的前 n行。
n= eval ( input ( "请输入你想要的杨辉三角层数:" ) )
triangle= [ [ 1 ] , [ 1 , 1 ] ]
for i in range ( 2 , n) :
bef= triangle[ i- 1 ]
ad= [ 1 ]
for j in range ( i- 1 ) :
ad. append( bef[ j] + bef[ j+ 1 ] )
ad. append( 1 )
triangle. append( ad)
for i in range ( n) :
l= " " * ( n- 1 - i)
for j in triangle[ i] :
l+= str ( j) + " "
print ( l)
7、统计单词数,输入一个要查询的单词,以及一段英文短文,求出现的单词的个数,不区分大小写。
def ReadIn ( ) :
txt= open ( "Hamlet.txt" , "r" ) . read( )
txt= txt. lower( )
for us in '!@#$%^&*()_+-={}:"<>?[];,./\|' :
txt= txt. replace( us, " " )
return txt
newtxt= ReadIn( )
words= newtxt. split( )
checkin= input ( "请输入你要查询的单词:" )
count= 0
for word in words:
if ( word== checkin) :
count+= 1
print ( "你所查询的单词在Hamlet中出现的次数为:%d" % count)
8、输入一个正整数,判断是否是回文质数(回文数+质数)。
number= input ( "请输入一个正整数:" )
length= len ( number)
number1= int ( number)
judge= 0
if ( length% 2 == 0 ) :
print ( "此正整数不是回文质数。" )
else :
if ( number== number[ : : - 1 ] ) :
for i in range ( 2 , number1) :
if ( number1% i== 0 ) :
break
else :
print ( "此正整数是回文质数。" )
else :
print ( "此正整数不是回文质数。" )
9、计算字符串倒数第二个单词的长度,单词以空格隔开。同时计算最后一个单词ld中包含的次数。给定输入如下。(字符串处理,提示:可以灵活使用split()函数)
string= input ( "请输入一组字符串:" )
item= string. split( )
c= len ( item)
if ( c== 1 ) :
print ( "无法查询倒数第二个单词" )
else :
length= len ( item[ - 2 ] )
print ( "倒数第二个单词长度为:%d" % length)
item1= item[ - 1 ] . count( "ld" )
print ( "最后一个单词中包含'ld'的次数%d" % item1)
10、用字典存储以下10个好朋友的姓名和年龄,然后: (字典的使用和遍历) - 遍历出名字和对应年龄 - 只遍历出朋友的名字 - 按字母顺序遍历出朋友的名字 - 遍历出所有你朋友的年龄,查看自己朋友都在什么年龄段 - 把遍历出的年龄去重。 - 插入18岁的“xiaoming” - 删除大于等于23岁的朋友
friends= { 'jiaLiang' : 23 , 'wangChen' : 24 , 'jiaMing' : 22 , 'wangJie' : 22 , 'yuQing' : 24 , 'wenZhen' : 23 , 'haoNan' : 25 , 'luYi' : 23 , 'boWen' : 23 }
for a, b in friends. items( ) :
print ( a+ ":" , end= "" )
print ( b)
print ( "\n" )
for a in friends. keys( ) :
print ( a)
print ( "\n" )
names= sorted ( friends. keys( ) , key= lambda x: x[ 0 ] )
for name in names:
print ( name)
print ( "\n" )
for b in friends. values( ) :
print ( b)
print ( "\n" )
names_1= set ( friends. values( ) )
names_2= list ( names_1)
for name in names_2:
print ( name)
print ( "\n" )
friends[ "xiaoming" ] = 18
for a, b in friends. items( ) :
print ( a+ ":" , end= "" )
print ( b)
print ( "\n" )
del friends[ 'jiaLiang' ]
del friends[ 'wangChen' ]
del friends[ 'yuQing' ]
del friends[ 'wenZhen' ]
del friends[ 'haoNan' ]
del friends[ 'luYi' ]
del friends[ 'boWen' ]
for a, b in friends. items( ) :
print ( a+ ":" , end= "" )
print ( b)
print ( "\n" )
11.实现一个学生信息管理系统,能够新增学生信息,查询学生信息,删除学生信息,以及按照学号排序学生信息等功能。(使用C++或者python实现)
import os
from platform import platform
def options ( ) :
print ( '''
====================学生信息管理系统====================
本系统提供以下数种功能:
1.新增学生信息
2.查询学生信息
3.删除学生信息
4.按照高数成绩排序学生信息
=======================================================
''' )
def main ( ) :
while True :
options( )
option= int ( input ( "尊敬的用户,请问您需要使用本系统实现以上哪种功能(请输入对应的序号):" ) )
if option== 1 :
add( )
elif option== 2 :
see( )
elif option== 3 :
delete( )
elif option== 4 :
sort( )
else :
print ( "您的需求本系统无法满足,请重新输入" )
def add ( ) :
students_information= [ ]
while True :
number= input ( "请输入学生学号(例:102201625):" )
name= input ( "请输入学生姓名:" )
try :
score= int ( input ( "请输入学生的高等数学成绩:" ) )
except :
print ( "输入出错,请重试!" )
continue
student= { 'number' : number, 'name' : name, 'score' : score}
students_information. append( student)
judge= input ( "是否需要继续新增学生信息(回答YES或NO)" )
if judge== 'YES' :
continue
else :
break
save( students_information)
print ( "学生信息录入成功!" )
def save ( infor) :
try :
txt= open ( 'Student.txt' , 'a' , encoding= 'utf-8' )
except :
txt= open ( 'Student.txt' , 'w' , encoding= 'utf-8' )
for item in infor:
txt. write( str ( item) + '\n' )
txt. close( )
def see ( ) :
platform= [ ]
while True :
print ( "请注意:本系统依据学生姓名进行信息检索" )
name= input ( "请输入学生姓名:" )
with open ( 'Student.txt' , 'r' , encoding= 'utf-8' ) as txt:
txt1= txt. readlines( )
for item in txt1:
txt2= dict ( eval ( item) )
if txt2[ 'name' ] == name:
platform. append( txt2)
fold( platform)
platform. clear( )
judge= input ( "是否需要继续查询学生信息(回答YES或NO):" )
if judge== 'YES' :
continue
else :
break
def fold ( plat) :
if len ( plat) == 0 :
print ( "无法查询到学生信息" )
return
for item in plat:
print ( "学号:{:^10} 姓名:{:^10} 高数成绩:{:^10}" . format ( item. get( 'number' ) , item. get( 'name' ) , item. get( 'score' ) ) )
def delete ( ) :
while True :
student_name= input ( "请输入要删除的学生姓名:" )
with open ( 'Student.txt' , 'r' , encoding= 'utf-8' ) as txt1 :
infor= txt1. readlines( )
judge= 0
with open ( 'Student.txt' , 'w' , encoding= 'utf-8' ) as txt2:
d= { }
for item in infor:
d= dict ( eval ( item) )
if d[ 'name' ] != student_name:
txt2. write( str ( d) + '\n' )
else :
judge= 1
if judge== 1 :
print ( "删除学生信息成功!" )
else :
print ( "未找到对应学生!" )
put( )
judge= input ( "是否需要继续删除学生信息(回答YES或NO)" )
if judge== 'YES' :
continue
else :
break
def put ( ) :
show= [ ]
with open ( 'Student.txt' , 'r' , encoding= 'utf-8' ) as txt:
students= txt. readlines( )
for item in students:
show. append( eval ( item) )
if show:
fold( show)
def sort ( ) :
while True :
put( )
with open ( 'Student.txt' , 'r' , encoding= 'utf-8' ) as txt:
student_bef= txt. readlines( )
student_now= [ ]
for item in student_bef:
d= dict ( eval ( item) )
student_now. append( d)
print ( "该功能是按照高数成绩进行排序" )
j= input ( "请选择是要升序(0)还是降序(1)" )
if j== '0' :
judge= False
if j== '1' :
judge= True
student_now. sort( key= lambda x: int ( x[ 'score' ] ) , reverse= judge)
fold( student_now)
judge1= input ( "是否需要继续排序学生信息(回答YES或NO)" )
if judge1== 'YES' :
continue
else :
break
main( )