Python编写判断成绩的程序
2018-06-30 17:48
465 查看
案例1:程序输入输出 案例2:判断合法用户 安全3:编写判断成绩的程序
1 案例1:程序输入输出
1.1 问题
编写login.py脚本,实现以下目标:
提示用户输入用户名 将用户名保存在变量中 在屏幕上显示欢迎用户的信息
1.2 方案
编写程序时,很多情况下都需要程序与用户交互。在python中,主要通过raw_input()获取用户输入信息,使用print打印信息。
通常当想看变量内容时,会在代码中使用print语句输出。不过在交互式解释器中,可以用print语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值。
从用户那里得到数据输入的最容易的方法是使用raw_input()内建函数。它读取标准输入,并将读取到的数据赋值给指定的变量。需要注意的是,raw_input()函数读入的数据全部是以字符串的方式存储的。如果用户输的是数字,那么python也将其保存为字符串,当将字符串与数字做数学运算是将会出现TypeError的错误。
初学者在需要显示信息或得到用户输入时,很容易想到使用print语句和raw_input()内建函数。不过在此建议函数应该保持其清晰性,也就是它只应该接受参数,返回结果。从用户那里得到需要的数据, 然后调用函数处理, 从函数得到返回值,然后显示结果给用户。这样你就能够在其它地方也可以使用你的函数而不必担心自定义输出的问题。这个规则的一个例外是,如果函数的基本功能就是为了得到用户输出,或者就是为了输出信息,这时在函数体使用print语句或raw_input()也未尝不可。更重要的,将函数分为两大类,一类只做事,不需要返回值(比如与用户交互或设置变量的值), 另一类则执行一些运算,最后返回结果。如果输出就是函数的目的,那么在函数体内使用 print 语句也是可以接受的选择。
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:编写脚本
本次练习的脚本文件是/root/bin/login.py。
[root@py01 bin]# vim login.py #!/usr/bin/env python username = raw_input('username: ') #使用变量username接收用户输入的字符 print 'Welcome', username #输出欢迎信息,字符串和变量名之间用逗号 #隔开,两者之间自动会加上空格
步骤二:测试脚本执行
[root@py01 bin]# chmod +x login.py #给脚本添加执行权限 [root@py01 bin]# login.py username: bob #输入用户名 Welcome bob
2 案例2:判断合法用户
2.1 问题
编写login.py2脚本,实现以下目标:
提示用户输入用户名和密码 将用户名和密码分别保存在变量中 如果用户名为bob并且密码为123456,则输出Login successful,否则输出Login inorrect
2.2 方案
本题主要是复合的判断语句,写法有如下两种:
使用两个判断语句,先判断用户名,如果用户名正确再判断密码是否正确 在一个判断语句中,同时判断两个条件是否全部成立
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:编写脚本
在很多语言中,if后面的判断条件需要使用圆括号或方括号,但是python并不强制,可以直接将判断条件写在if后面,并不会产生错误。
有些时候,判断条件可能有多个(使用and或or连接),为了更好的可读性,建议在这种环境下,将多个条件分别用圆括号括起来。
[root@py01 bin]# vim login2.py #!/usr/bin/env python username = raw_input('username: ') password = raw_input('password: ') if username == 'bob': if password == '123456': print 'Login successful' else: print 'Login incorrect' else: print 'Login incorrect'
或将上面的代码改为以下写法:
[root@py01 bin]# vim login2.py #!/usr/bin/env python username = raw_input('username: ') password = raw_input('password: ') if username == 'bob' and password == '123456': print 'Login successful' else: print 'Login incorrect'
步骤二:测试脚本执行
[root@py01 bin]# ./login2.py username: bob password: 123456 Login successful [root@py01 bin]# ./login2.py username: bob password: abcd Login incorrect [root@py01 bin]# ./login2.py username: tom password: 123456 Login incorrect
步骤三:改进脚本
脚本程序在运行时,应该将敏感的密码隐藏,不要显示在屏幕上。为了实现这个功能,可以使用getpass模块中的getpass方法。
getpass可以像Linux处理密码一样,屏幕上不出现任何字符,但是用户的输入可以保存到相应的变量中。
上面的代码可以改写为:
[root@py01 bin]# vim login2.py #!/usr/bin/env python import getpass username = raw_input('username: ') password = getpass.getpass('password: ') if username == 'bob' and password == '123456': print 'Login successful' else: print 'Login incorrect'
测试脚本执行:
[root@py01 bin]# ./login2.py username: bob password: 123456 #此处所填写的密码将不在屏幕上显示 Login successful
3 安全3:编写判断成绩的程序
3.1 问题
编写score.py脚本,根据用户输入的成绩分档,要求如下:
如果成绩大分60分,输出“及格” 如果成绩大于70分,输出“良” 如果成绩大于80分,输出“好” 如果成绩大于90分,输出“优秀” 否则输出“你要努力了”
3.2 方案
本题需要注意的是逻辑顺序。在多分支的if语句中,自顶向下逐步匹配,一旦匹配则执行相应的子语句,其他语句将不再执行。
因此,在编写代码时要注意逻辑,成绩是100分也大于60分,如果把判断较小分数的语句写在前面,那么是凡大于60分的成绩都是输出“及格”,那么只有第一个判断语句会执行,所以应该把分值更高的判断写在上面。
3.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:编写脚本
[root@py01 bin]# vim score.py #!/usr/bin/env python #coding: utf8 #为了程序可以支持中文,指定UTF8编码 score = int(raw_input('enter score: ')) if score > 90: print '优秀' elif score > 80: print '好' elif score > 70: print '良' elif score > 60: print '及格' else: print '你要努力了!'
步骤二:测试脚本执行
[root@py01 bin]# ./score.py enter score: 59 你要努力了! [root@py01 bin]# ./score.py enter score: 88 好
相关文章推荐
- 编写简单的Python程序来判断文本的语种
- 编写一个程序,读入个数不确定的(<=100个)考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分为10分。
- 笔试题——编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个其它的字符
- /*编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数*/
- python编写找1 -100的素数的程序
- 编写程序判断大小端的两种方法
- 将Python代码嵌入C++程序进行编写
- 如何优雅的编写Python并发程序(Gevent)
- 使用python编写opencv程序(安装及载入图片)
- 『编写高质量代码——改善 Python 程序的 91 个建议』
- 用python的ftplib模块编写ftp客户端程序
- 编写一个成绩分类程序
- 在Eric4下用PyQt4编写Python的图形界面程序
- 一起学Python 1.2 编写并运行一个真正的程序(转自人人网 公共主页 一起学python)
- 初学python-练习_1使用python编写计算班级学生平均分程序
- 使用python编写简单的小程序编译成exe跑在win10上
- nao机器人国际比赛程序 python编写
- python 语言编写抽奖小程序
- python+tkinter编写电脑桌面放大镜程序实例代码
- python编写一个计算小程序-学习笔记8