用户名密码登录小程序及input与raw_input区别。
一、此次程序需要实现:
1、设定固定的用户名密码
2、用户名密码输入正确打印登录正确信息
3、仅仅运行三次登录
二、本次使用的python版本为:
Windows下版本号:
C:\Users\daisy>python --version
Python 2.7.13rc1
Linux下版本号:
三、设计思路:
1、定义用户名变量:USER_name = "admin1"
2、定义密码变量:PASSWORD = "admin123"
3、由于必须实现3次登录可以采用循环。
四、程序以windows下程序:
以下是在pycharm下编写程序及操作使用raw_input输入:
USER_name = "admin1" #定义用户名
PASSWORD = "admin123" #定义密码
for i in range(3): #执行3次
input_name = raw_input("input your name:") #输入用户名
input_pass = raw_input("input your passwd:") #输入密码
if input_name == USER_name and input_pass == PASSWORD: #条件语句如果用户名密码正确中中执行以下操作不表示登录成功。
print("you are right.")
print("login is right.")
break #登录成功跳出循环
else:
print("your name is wrong.") #登录用户名密码错误输出错误。
else:
print("input too many count.") #循环完成三次登录都不成功输出。
执行结果:
执行三次错误用户名和密码:
input your name:admin
input your passwd:admin
your name is wrong.
input your name:admin
input your passwd:admin
your name is wrong.
input your name:admin
input your passwd:passwd
your name is wrong.
input too many count.
执行正确用户名密码:
input your name:admin
input your passwd:admin
your name is wrong.
input your name:admin1
input your passwd:admin123
you are right.
login is right.
在pycharm下编写程序及操作使用input输入:
USER_name = "admin1" #定义用户名
PASSWORD = "admin123" #定义密码
for i in range(3): #执行3次
input_name = input("input your name:") #输入用户名
input_pass = input("input your passwd:") #输入密码
if input_name == USER_name and input_pass == PASSWORD: #条件语句如果用户名密码正确中中执行以下操作不表示登录成功。
print("you are right.")
print("login is right.")
break #登录成功跳出循环
else:
print("your name is wrong.") #登录用户名密码错误输出错误。
else:
print("input too many count.") #循环完成三次登录都不成功输出。
测试报错:
input your name:admin
Traceback (most recent call last):
File "C:/Users/daisy/PycharmProjects/s12/day1/login��.py", line 6, in <module>
input_name = input("input your name:")
File "<string>", line 1, in <module>
NameError: name 'admin' is not defined
Process finished with exit code 1
原因input与raw_input区别:
>>> input_name = input("input your name:")
input your name:23
>>> type(input_name)
input your name:23
>>> type(input_name)
<type 'str'> #表示字符串
由此可见:input默认输出为整型,raw_input默认输出为字符串:
使用input解决方法:(将输入的值用引号引起来表示是字符串 )
input your name:"admin"
input your passwd:"admin123"
your name is wrong.
input your name:"admin1"
input your passwd:"admin123"
you are right.
login is right.
总结:由此可见2.X版本最好使用raw_input输入字符串,那么raw_input如何输入数字类型呢?
以下是方法:
>>> input_name = int(raw_input("input your name:")) #采用int表示整型:
input your name:23
>>> type(input_name)
<type 'int'> #确实是int类型:
>>> input_name = float(raw_input("input your name:")) #采用浮点:
input your name:23
>>> type(input_name)
<type 'float'> #确实是浮点类型:
>>>
四、程序以在Linux下程序:
[root@localhost ~]# python3 --version
Python 3.5.2 #版本:
[root@localhost ~]# python3
Python 3.5.2 (default, Apr 9 2017, 00:21:30)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> USER_name = "admin1"
PASSWORD = "admin123"
# input_num = 1
>>> >>> ... # input_count = 0
... for i in range(1, 4):
... input_name = input("input your name:")
... input_pass = input("input your passwd:")
... if input_name == USER_name and input_pass == PASSWORD:
... print("you are right.")
... print("login is right.")
... break
... else:
... print("your name is wrong.")
... else:
... print("input too many count.")
...
input your name:admin
input your passwd:admin
your name is wrong.
input your name:admin1
input your passwd:admin123
you are right.
login is right.
>>>
由于3.x版本已经精简所以使用input不会报错也不需要将输入的值用引号引起来表示字符。
那么我们测试以下input输入的类型:
先输入数字:
>>> input_name = input("input your name:")
input your name:23
>>> type(input_name)
<class 'str'> #也是字符串
同样的想在3.X中输入数字类型可以采用int、float等。可参考上文。
用户名密码登录小程序及input与raw_input区别。的更多相关文章
- Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作
# -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...
- 微信小程序:input输入框和form表单几种传值和取值方式
1.传值:index下标传值.页面navigator传值 1.index下标 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.data ...
- pyhton学习,day1作业,用户名密码登录模块
要求,通过用户名密码登录,登录错误3次,锁定用户名 # coding=utf-8 # Author: RyAn Bi import os, sys #调用系统自己的库 accounts_file = ...
- python学习笔记(2)——练习小程序之 " input " 隐藏陷阱
练习小程序之 ----------" input " 隐藏陷阱 age=input('please enter your age:') if age>=18: print(' ...
- 【小程序】---- input获得焦点时placeholder重影BUG
问题小程序的input组件有个自身的bug,即当输入框获取焦点时placeholder内容会出现重影现象. 解决思路原理:将placeholder内容单独写在另外的标签里,控制其显示隐藏.操作:将代表 ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- ADO.NET学习系列(四)---窗体版的登录小程序
1.需求分析:做一个登录的小程序,基于Winform的窗体小程序.基本要求:登录成功:弹框显示登录成功,登录失败就弹框显示失败. 扩展功能:登录次数超过3次,就”锁定“用户,提示登录错误次数过多,不能 ...
- python实现注册登录小程序
用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下: users.txt里用户字典格式如下: { '}, '}, '} } # 注册 f = ope ...
- SpringSecurity实现用户名密码登录(Token)
传统的应用是将Session放在应用服务器上,而将生成的JSESSIONID放在用户浏览器的Cookie中,而这种模式在前后端分离中就会出现以下问题 1,开发繁琐. 2,安全性和客户体验差 3,有些前 ...
随机推荐
- String池与iterator对集合的迭代
一.静态导入 1. 导入类的静态属性 import static java.lang.System.out; out.println("haha"); 2. ...
- delphi 中OutputDebugString 函数的妙用(使用DebugView或者Pascal Analyzer软件,在运行过程中就能监视和捕捉日志,而且通过网络就能监视)
原文地址 https://www.peganza.com/delphi-and-outputdebugstring.html 曾经想要实时监控您的Delphi应用程序,并能够查看日志消息吗?当然,您始 ...
- Eclipse设置java环境
通用JRE环境设置: Window->Preferences->Java->Installed JREs 设置jre路径,如C:\Program Files\Java\jre1.8. ...
- Qt & opencv 学习(一)
Qt也没怎么系统学过,opencv也没系统学过.慢慢来,一步一步弄清楚吧. 天嵌科技有个文档,先去看这个文档,主要是开发环境的配置.文档名字就是QT应用程序开发手册-20150918.pdf.在QT里 ...
- gradle配置
一.你不想看到的 Gradle Build Running 话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿.这次重 ...
- rails使用mysql数据库
简单步骤 1,安装mysql 安裝 MySQL Ubuntu 上安裝 MySQL 請執行: $ sudo apt-get install mysql-server mysql-common mysql ...
- Hadoop 文件压缩
一.目的 a. 减小磁盘占用 b. 加速网络IO 二.几个常用压缩算法 是否可切分:是指压缩后的文件能否支持在任意位置往后读取数据. 各种压缩格式特点: 压缩算法都需要权衡 空间/时间 :压缩率越高, ...
- Java异步套接字实例
服务端 package com.test.server; import java.io.IOException; import java.net.InetSocketAddress; import j ...
- [Android6.0][RK3399] 修改默认按键 KEY-PAD 的功能【转】
本文转载自:http://m.blog.csdn.net/dearsq/article/details/70175637 Platform: RK3399 OS: Android 6.0 Kernel ...
- HDU3507 Print Article —— 斜率优化DP
题目链接:https://vjudge.net/problem/HDU-3507 Print Article Time Limit: 9000/3000 MS (Java/Others) Mem ...