<代码>案例1:程序输入输出 案例2:判断合法用户 安全3:编写判断成绩的程序代码>
1案例1:程序输入输出
1.1问题
编写login.py脚本,实现以下目标:
<代码>提示用户输入用户名 将用户名保存在变量中 在屏幕上显示欢迎用户的信息代码>
1.2方案
编写程序时,很多情况下都需要程序与用户交互。在python中,主要通过raw_input()获取用户输入信息,使用打印打印信息。
通常当想看变量内容时,会在代码中使用打印语句输出。不过在交互式解释器中,可以用打印语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值。
从用户那里得到数据输入的最容易的方法是使用raw_input()内建函数。它读取标准输入,并将读取到的数据赋值给指定的变量。需要注意的是,raw_input()函数读入的数据全部是以字符串的方式存储的。如果用户输的是数字,那么python也将其保存为字符串,当将字符串与数字做数学运算是将会出现TypeError的错误。
初学者在需要显示信息或得到用户输入时,很容易想到使用打印语句和raw_input()内建函数。不过在此建议函数应该保持其清晰性,也就是它只应该接受参数,返回结果。从用户那里得到需要的数据,然后调用函数处理,从函数得到返回值,然后显示结果给用户。这样你就能够在其它地方也可以使用你的函数而不必担心自定义输出的问题。这个规则的一个例外是,如果函数的基本功能就是为了得到用户输出,或者就是为了输出信息,这时在函数体使用打印语句或raw_input()也未尝不可。更重要的,将函数分为两大类,一类只做的事,不需要返回值(比如与用户交互或设置变量的值),另一类则执行一些运算,最后返回结果。如果输出就是函数的目的,那么在函数体内使用打印语句也是可以接受的选择。
1.3步骤
实现此案例需要按照如下步骤进行。
步骤一:编写脚本
本次练习的脚本文件是/根/bin/login.py。
<代码> # vim login.py root@py01本 #?usr/bin/env python 用户名=raw_input(用户名:)#使用变量用户名接收用户输入的字符 打印“欢迎”,用户名#输出欢迎信息,字符串和变量名之间用逗号 #隔开,两者之间自动会加上空格代码>
步骤二:测试脚本执行
<代码> [root@py01本]# chmod + x登录。py #给脚本添加执行权限 # login.py root@py01本 用户名:鲍勃#输入用户名 欢迎鲍勃代码>
2案例2:判断合法用户
2.1问题
编写login.py2脚本,实现以下目标:
<代码>提示用户输入用户名和密码 将用户名和密码分别保存在变量中 如果用户名为鲍勃并且密码为123456,则输出登录成功,否则输出登录inorrect 代码>
2.2方案
本题主要是复合的判断语句,写法有如下两种:
<代码>使用两个判断语句,先判断用户名,如果用户名正确再判断密码是否正确 在一个判断语句中,同时判断两个条件是否全部成立代码>
2.3步骤
实现此案例需要按照如下步骤进行。
步骤一:编写脚本
在很多语言中,如果后面的判断条件需要使用圆括号或方括号,但python并是不强制,可以直接将判断条件写在如果后面,并不会产生错误。
有些时候,判断条件可能有多个(使用,或或连接),为了更好的可读性,建议在这种环境下,将多个条件分别用圆括号括起来。
<代码> # vim login2.py root@py01本 #?usr/bin/env python 用户名=raw_input(用户名:) 密码=raw_input('密码:') 如果用户名==氨? 如果密码==?23456’: 打印“登录成功” 其他: 打印“登录不正确” 其他: 打印“登录错误”代码>
或将上面的代码改为以下写法:
<代码> # vim login2.py root@py01本 #?usr/bin/env python 用户名=raw_input(用户名:) 密码=raw_input('密码:') 如果用户名====氨焙兔苈搿?23456”: 打印“登录成功” 其他: 打印“登录错误”代码>
步骤二:测试脚本执行
<代码> (root@py01本)#。/login2.py 用户名:鲍勃 密码:123456 登录成功 (root@py01本)#。/login2.py 用户名:鲍勃 密码:abcd 登录不正确 (root@py01本)#。/login2.py 用户名:汤姆 密码:123456 登录不正确的Python编写判断成绩的程序