Python焚诀来了
我想成为Python高手下面两种风格代码仅供参考。题目1简单四则运算计算器需求程序循环提示用户输入运算符 - * /或q退出输入运算符后提示输入两个数字分两次计算并打印结果除法时如果第二个数字为0提示除数不能为01whileTrue:operatorinput(请输入运算符 ( - * /) 或 q 退出: )ifoperatorq:print(程序已退出)breakifoperator:num1float(input(请输入第一个数字: ))num2float(input(请输入第二个数字: ))print(结果,num1num2)elifoperator-:num1float(input(请输入第一个数字: ))num2float(input(请输入第二个数字: ))print(结果,num1-num2)elifoperator*:num1float(input(请输入第一个数字: ))num2float(input(请输入第二个数字: ))print(结果,num1*num2)elifoperator/:num1float(input(请输入第一个数字: ))num2float(input(请输入第二个数字: ))ifnum20:print(除数不能为0)else:print(结果,num1/num2)else:print(请输入正确的运算符)2whileTrue:opinput(please input op:)ifopq:print(is over!)breakaint(input(please give me the first number:))bint(input(please give me the second number:))ifop:print(ab)elifop-:print(a-b)elifop*:print(a*b)elifop/:ifb0:print(error!)else:print(a/b)题目2连续累加器需求程序不断提示用户输入一个整数每次输入后累加所有输入的数字并打印当前总和如果用户输入0不累加但继续循环使用continue如果用户输入q退出程序并打印程序结束总和为XXX1total0whileTrue:user_inputinput(请输入一个整数输入0不累加输入q退出: )ifuser_inputq:print(程序结束总和为,total)breaknumint(user_input)ifnum0:print(输入为0不累加)continuetotaltotalnumprint(当前总和,total)2s0whileTrue:ainput(put a num:)ifaq:print(fthe sum is{s})breakifa0:continuebint(a)sb题目4成绩等级判断器需求程序不断提示用户输入一个成绩0-100判断并打印等级90-100 → 优秀80-89 → 良好70-79 → 中等60-69 → 及格0-59 → 不及格如果用户输入q退出程序如果输入的成绩不在0-100范围提示成绩必须在0-100之间并重新输入1whileTrue:user_inputinput(请输入成绩0-100输入q退出: )ifuser_inputq:print(程序已退出)breakscorefloat(user_input)ifscore0orscore100:print(成绩必须在0-100之间)continueifscore90:print(优秀)elifscore80:print(良好)elifscore70:print(中等)elifscore60:print(及格)else:print(不及格)2whileTrue:sinput(show your score:)ifsq:print(it is over!)breakaint(s)ifa0ora100:print(are you kidding?)ifa90:print(A)elifa80:print(B)elifa70:print(C)elifa60:print(D)else:print(F)题目6区间判断器需求程序不断提示用户输入一个整数判断该数字属于哪个区间并打印对应信息1-10 → “小数字”11-50 → “中数字”51-100 → “大数字”其他 → “超出范围”如果用户输入exit退出程序1whileTrue:user_inputinput(请输入一个整数输入exit退出: )ifuser_inputexit:print(程序已退出)breaknumint(user_input)ifnum1andnum10:print(小数字)elifnum11andnum50:print(中数字)elifnum51andnum100:print(大数字)else:print(超出范围)2whileTrue:s(input(give me a num:))ifsexit:breakbint(s)if0b10:print(f{b}is a small num!)elif10b50:print(f{b}is a mid num!)elif50b100:print(f{b}is a large num!)else:print(fbeyond range !)题目7登录验证系统需求预设用户名admin密码123456程序提示用户输入用户名和密码分两次输入如果用户名或密码错误提示用户名或密码错误还剩X次机会总共3次机会如果3次都错误打印账户已锁定并退出程序如果输入正确打印登录成功并退出循环1attempts3whileattempts0:usernameinput(请输入用户名: )passwordinput(请输入密码: )ifusernameadminandpassword123456:print(登录成功)breakelse:attemptsattempts-1ifattempts0:print(用户名或密码错误还剩,attempts,次机会)else:print(账户已锁定)2cnt0foriinrange(3):nameinput(give the name:)passwordint(input(give the password:))ifnameadminandpassword123456:print(flogin success!)breakelse:e2-cntprint(flogin fail!You only have{e}opportunities !)cnt1ifcnt3:print(Account is locked.)break题目8数字奇偶判断器需求程序提示用户输入一个整数判断该数字是奇数还是偶数并打印结果判断完成后询问继续判断(y/n)如果输入y继续循环如果输入n退出程序如果输入其他内容提示请输入 y 或 n并重新询问1whileTrue:numint(input(请输入一个整数: ))ifnum%20:print(num,是偶数)else:print(num,是奇数)againinput(继续判断(y/n): )ifagainn:print(程序已退出)break2whileTrue:aint(input(judge odd or even:))ifa%20:print(even)else:print(odd)whileTrue:sinput(Are you continue?)ifsyes:breakelifsno:print(byebye~)exit()else:print(please input yes or no !)总结与学习建议通过以上几个编程练习我们实践了 Python 编程中的几个核心知识点核心知识点总结循环控制所有练习都使用了while True或for循环来实现程序的持续运行并通过break、continue控制流程。条件判断大量使用if、elif、else进行分支判断处理用户输入的不同情况。输入输出使用input()获取用户输入print()输出结果这是与用户交互的基础。异常处理隐式虽然示例中未显式使用try...except但通过条件判断如检查除数是否为0、成绩范围是否合法实现了基本的错误预防。数据类型转换频繁使用int()、float()将字符串输入转换为数值进行计算。变量与状态管理如累加器中的total、登录系统中的attempts用于在循环中跟踪程序状态。从模仿到优化的学习路径建议对于初学者建议按以下路径逐步提升第一步理解与模仿仔细阅读每个题目的“需求”部分理解程序要做什么。运行提供的代码观察输入输出确保明白每一行代码的作用。尝试修改代码中的字符串提示信息、变量名或数值观察变化。第二步独立重写关闭参考代码仅根据“需求”描述尝试自己从头编写程序。完成后与示例对比思考差异哪种逻辑更清晰哪种边界情况处理得更好第三步功能扩展与优化计算器增加取模%、幂运算**等功能添加对非数字输入的处理使用try...except。累加器/成绩判断器允许输入多个数字后再统一计算增加计算平均值、最高分/最低分等功能。登录系统将用户名和密码存储到文件或字典中支持多个账户添加密码隐藏输入可使用getpass模块。代码风格尝试将重复代码如获取输入、判断是否退出抽取为函数使主循环更简洁。第四步项目整合尝试将多个小功能组合成一个“学生成绩管理系统”或“简易计算器工具集”使用菜单让用户选择功能。学习使用函数、列表、字典等数据结构来管理更复杂的数据。最重要的建议编程是实践技能多写、多调试、多思考为什么。遇到错误时不要急于寻找答案先尝试自己分析错误信息这是提升解决问题能力的最佳途径。祝你学习愉快早日成为 Python 高手