"""
1.学员管理系统
系统功能界面
1-添加学员
2-删除学员
3-修改学员信息
4-查询学员信息
5-退出系统
6-显示全部学员信息
"""
# 打印要操作的信息
# 使用数字表示使用的功能
# 输入对应的数字,表示要操作的功能
# 1:增加学员信息 2:删除学员信息
# 3:修改学员信息 4:查看学员信息 5:退出系统
# 存储数据
# str number list set tuple dict
# 学员的信息 学号 名字 手机号
# 选择dict类型存储
user_info = {}
# 打印系统界面
def print_info() -> str:
"""
打印系统功能页面
:return: 功能选择 str
"""
print('-'*20+'选择功能'+'-'*20)
print('1,增加学员信息\t 2,删除学员信息\t 3,修改学员信息\t\
\n4,查看学员信息\t 5,退出系统\t\t 6,显示全部学员信息\t')
number = input('请输入数字,选择操作的功能:')
print('-'*20)
return number
# 增加
def add_info():
"""
增加学员信息
:return:
"""
print('增加学员信息')
while True:
user_id = input('请输入学员的学号:')
user_name = input('请输入学员的名字:')
number = input('请输入学员的电话:')
if verify_info(user_id): # 如果该学号在字典中
print('已有这个学员,不可重复添加')
print('请重新输入!')
else:
# 添加数据到user_info中
user_info[user_id]= {'user_name': user_name, 'number': number} # 字典中字典
print(f'增加成功,数据为{user_id}->{user_info[user_id]}')
break
# 确认学员学号是否存在
def verify_info(user_id):
"""
确认学号是否存在
:return:
"""
if user_id in user_info.keys(): # 如果该学号在字典中
return True
else:
print(f'没有找到学号为{user_id}的学员信息')
return False
# 删除
def del_info():
"""
删除学员信息
:return:
"""
print('删除学员信息')
user_id = input('请输入学员的学号:')
if verify_info(user_id): # 判断学员id是否存在
print(f'学员{user_id}的{user_info[user_id]}已经删除') # 必须是先打印再删除,否则报错
del user_info[user_id] # 删除学员数据
# 修改
def alter_info():
"""
修改学员信息
:return:
"""
print('修改学员信息')
user_id = input('请输入学员的学号:')
if verify_info(user_id): # 判断学员id是否存在
while True:
print('1, 修改名字 2, 修改手机号')
data = input('请输入要操作的功能')
if data == '1':
new_name = input('请输入修改后的名字')
user_info[user_id]['user_name'] = new_name
print(f'学员{user_id}的{user_info[user_id]}已经修改')
break
elif data == '2':
new_number = input('请输入修改后的手机号')
user_info[user_id]['number'] = new_number
print(f'学员{user_id}的{user_info[user_id]}已经修改')
break
else:
print('功能选择错误,请重新选择')
# 查看
def search_info():
"""
查询学员信息
:return:
"""
print('查询学员信息')
# 查询学号
user_id = input('请输入要查询学员的学号:')
if verify_info(user_id):
print(f'学号为{user_id}的学员的信息为: {user_info[user_id]}')
# 显示全部信息
def show_all():
"""
显示全部信息
:return:
"""
print('全部学员信息如下:')
print('学号\t\t姓名\t\t电话号码\t')
for user_id, j in user_info.items():
print(user_id, end='\t\t')
# print(j)
for n in j.values(): # 按照我这个来说,这里没必要使用keys()
# print(i)
# print(m)
print(n, end='\t\t')
print()
if __name__ == '__main__': # 程序的入口,程序从这里运行
while True:
value = print_info()
if value == '1': # 因为value是str类型
add_info() # 调用增加学员信息的函数
elif value == '2':
del_info() # 调用删除信息的函数
elif value == '3':
alter_info() # 调用修改信息的函数
elif value == '4':
search_info() # 查询学员信息
elif value == '5':
break # 结束程序运行
elif value == '6':
show_all()
else:
print('功能选择错误,请重新选择')

我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt