"""
需求1:会员卡充值
金额只能输入数字和浮点数、不能输入负数
充值100(包含100)金额提示:成功充值N元,恭喜你成为普通会员
充值100.01(包含100.01)至200金额提示:成功充值N元,恭喜你成为铂金会员
充值200.01(包含100.01)至300金额提示:成功充值N元,恭喜你成为黄金会员
充值300.01(包含100.01)至400金额提示:成功充值N元,恭喜你成为黄金会员
充值400以上的金额提示:成功充值N元,恭喜你成为至尊会员
"""
money = input('请输入金额:')
while True:
try:
number = round(float(money), 2) # 用round()函数,四舍五入只保留2位小数。在用int或者float进行转换,非数字内容无法转换,进入except,继续循环
if number <= 100.0:
print("成功充值{0}元,恭喜你成为普通会员".format(number))
elif 100.01 <= number <= 200.0:
print("成功充值{0}元,恭喜你成为铂金会员".format(number))
elif 200.01 <= number <= 300.0:
print("成功充值{0}元,恭喜你成为黄金会员".format(number))
elif 300.01 <= number <= 400.0:
print("成功充值{0}元,恭喜你成为钻石会员".format(number))
else:
print("成功充值{0}元,恭喜你成为至尊会员".format(number))
break # 中断循环,程序结束
except BaseException as e: # BaseException:获取报错信息
print("报错信息", e) # 打印输出报错信息
money = input('你输入数字不是一个整数或小数!请重新输入金额:')
"""
需求1:涉及的知识点:
input()函数----从控制台输入数据
print()函数----代码中得到的结果输出数据
format()函数----格式化输出,就是可以指定字符串任意位置赋值
while True----True=死循环
break----中断循环,代码执行遇到他就会终止循环
try...except:----代码异常报错处理(有error字样的)
BaseException as e----捕获所有异常的基类 在定义变量名为 e
round(4.52365 , 2)函数----四舍五入只保留2位小数
float()函数----转型为浮点数
if 条件:...elif 条件:...else----多重条件判断
<= ----这个是比较运算符
"""
print("")
print("———————————————————————————————————————————————————————————————————————————————————————————————————————————")
"""
需求2:招生功能
招生要求18岁到20岁的学生(提示:符合招生条件、不符合招生条件。提示中要附带年龄)
要招够6个符合条件的学生(男的3个,女的3个)就停止招聘
要统计所有报名人数、还要分别统计是否符合条件的人数
要求从就控制台获取年龄信息(必须要输入数字、不能输入负数,否则就提示,重新输入)
要求从就控制台获取性别信息(必须要分别输入男/女,否则就提示性别输入错误,重新输入)
"""
sex_man = 0 # 统计男生数量:初始值为0
sex_girl = 0 # 统计女生数量:初始值为0
YES_recruit = 0 # 统计符合条件的人数:初始值为0
NO_recruit = 0 # 统计不符合条件的人数:初始值为0
owner = 0 # 统计所有来报名的人数:初始值为0
while YES_recruit < 4:
Gather_sex = input("请输入性别(男/女):") # 从控制台输入获取数据
if Gather_sex == "男": # 判断性别
if sex_man < 2: # 判断男生数量
while True: # True:死循环
try: # 异常处理
Gather_age = input("请输入年龄:") # 从控制台输入获取数据
age = int(Gather_age) # ing()转整数
if age > -1: # 判断年龄
if 18 <= age <= 20: # 判断年龄
print("你的年龄是{0}岁,恭喜你符合招生条件".format(age)) # 打印提示
YES_recruit += 1 # 统计符合条件的人数加1
sex_man += 1 # 男生数量加1
elif age > 20: # 判断年龄
print("你的年龄是{0}岁,已超过招生条件的年龄".format(age)) # 打印提示
NO_recruit += 1 # 不符合条件的人数加1
else:
print("你的年龄是{0}岁,未成年,不符合招生条件".format(age)) # 打印提示
NO_recruit += 1 # 不符合条件的人数加1
break # 中断循环
else:
print("年龄不能输入负数,请重新输入年龄!") # 打印提示
except BaseException as e: # 获取异常信息并定义变量名为:e
print("异常报错信息:", e) # 打印输出异常信息
print("年龄必须输入数字,请重新输入年龄!") # 打印提示
else:
print("男生已经招满了") # 打印提示
owner += 1 # 所有来报名的人数加1
elif Gather_sex == "女": # 判断性别
if sex_girl < 2: # 判断女生数量
while True: # True:死循环
try: # 异常处理
Gather_age = input("请输入年龄:") # 从控制台输入获取数据
age = int(Gather_age) # ing()转整数
if age > -1: # 判断年龄
if 18 <= age <= 20: # 判断年龄
print("你的年龄是{0}岁,恭喜你符合招生条件".format(age)) # 打印提示
YES_recruit += 1 # 统计符合条件的人数
sex_girl += 1 # 女生数量加1
elif age > 20: # 判断年龄
print("你的年龄是{0}岁,已超过招生条件的年龄".format(age)) # 打印提示
NO_recruit += 1 # 不符合条件的人数加1
else:
print("你的年龄是{0}岁,未成年,不符合招生条件".format(age)) # 打印提示
NO_recruit += 1 # 不符合条件的人数加1
break # 中断循环
else:
print("年龄不能输入负数,请重新输入年龄!") # 打印提示
except BaseException as e: # 获取异常信息并定义变量名为:e
print("异常报错信息:", e) # 打印输出异常信息
print("年龄必须输入数字,请重新输入年龄!") # 打印提示
else:
print("女生已经招满了") # 打印提示
owner += 1 # 所有来报名的人数加1
else:
print("性别输入错误,请重新输入性别男/女!") # 打印提示
print("此次招生结束啦")
print("符合条件的人数:", YES_recruit)
print("不符合条件的人数:", NO_recruit)
print("来报名的总人数:", owner)
"""
需求2:涉及的知识点:
input()函数----从控制台输入数据
print()函数----代码中得到的结果输出数据
format()函数----格式化输出,就是可以指定字符串任意位置赋值
while True----这是死循环
while YES_recruit < 4----这是有条件的循环
break----中断循环,代码执行遇到他就会终止循环
try...except:----代码异常报错处理(有error字样的)
BaseException as e----捕获所有异常的基类 在定义变量名为 e
round(4.52365 , 2)函数----四舍五入只保留2位小数
int()函数----转型为整数
if 条件:...elif 条件:...else----多重条件判断(如果if里面还有if叫嵌套)
<=、==、> ----这个是比较运算符
+= ----这个是赋值运算符
"""
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我脑子里浮现出一些关于一种新编程语言的想法,所以我想我会尝试实现它。一位friend建议我尝试使用Treetop(Rubygem)来创建一个解析器。Treetop的文档很少,我以前从未做过这种事情。我的解析器表现得好像有一个无限循环,但没有堆栈跟踪;事实证明很难追踪到。有人可以指出入门级解析/AST指南的方向吗?我真的需要一些列出规则、常见用法等的东西来使用像Treetop这样的工具。我的语法分析器在GitHub上,以防有人希望帮助我改进它。class{initialize=lambda(name){receiver.name=name}greet=lambda{IO.puts("He
我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行
假设我在Ruby中有这个each循环。@list.each{|i|putsiifi>10breakend}我想循环遍历列表直到满足条件。这让我感到“不像Ruby”,因为我是Ruby的新手,是否有Ruby方法可以做到这一点? 最佳答案 您可以使用Enumerable#detect或Enumerable#take_while,取决于您想要的结果。@list.detect{|i|putsii>10}#Returnsthefirstelementgreaterthan10,ornil.正如其他人所指出的,更好的风格是先进行子选择,然后再对其
这个问题在这里已经有了答案:关闭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
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的