一、此次程序需要实现:

  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区别。的更多相关文章

  1. Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作

    # -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...

  2. 微信小程序:input输入框和form表单几种传值和取值方式

    1.传值:index下标传值.页面navigator传值 1.index下标 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.data ...

  3. pyhton学习,day1作业,用户名密码登录模块

    要求,通过用户名密码登录,登录错误3次,锁定用户名 # coding=utf-8 # Author: RyAn Bi import os, sys #调用系统自己的库 accounts_file = ...

  4. python学习笔记(2)——练习小程序之 " input " 隐藏陷阱

    练习小程序之 ----------" input " 隐藏陷阱 age=input('please enter your age:') if age>=18: print(' ...

  5. 【小程序】---- input获得焦点时placeholder重影BUG

    问题小程序的input组件有个自身的bug,即当输入框获取焦点时placeholder内容会出现重影现象. 解决思路原理:将placeholder内容单独写在另外的标签里,控制其显示隐藏.操作:将代表 ...

  6. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  7. ADO.NET学习系列(四)---窗体版的登录小程序

    1.需求分析:做一个登录的小程序,基于Winform的窗体小程序.基本要求:登录成功:弹框显示登录成功,登录失败就弹框显示失败. 扩展功能:登录次数超过3次,就”锁定“用户,提示登录错误次数过多,不能 ...

  8. python实现注册登录小程序

    用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下: users.txt里用户字典格式如下: { '}, '}, '} } # 注册 f = ope ...

  9. SpringSecurity实现用户名密码登录(Token)

    传统的应用是将Session放在应用服务器上,而将生成的JSESSIONID放在用户浏览器的Cookie中,而这种模式在前后端分离中就会出现以下问题 1,开发繁琐. 2,安全性和客户体验差 3,有些前 ...

随机推荐

  1. model.js

    var Model = { inherited: function () {}, created: function () {}, prototype: { init: function (attrs ...

  2. bzoj2436: [Noi2011]Noi嘉年华

    我震惊了,我好菜,我是不是该退役(苦逼) 可以先看看代码里的注释 首先我们先考虑一下第一问好了真做起来也就这个能想想了 那么离散化时间是肯定的,看一手范围猜出是二维DP,那对于两个会场,一个放自变量, ...

  3. caioj1465&&poj1024: 【AC自动机】地图匹配

    刷的第二题AC自动机,这题简直了.. 用询问的串建AC自动机,然后...爆搜! ACBB                  ACBBACCA                  A  AABBC     ...

  4. UVA11613 Acme Corporation —— 最小费用流(流量不固定的最小费用流)

    题目链接:https://vjudge.net/problem/UVA-11613 题意: 商品X在第i个月内:生产一件需要花费mi元,最多可生产ni件,销售一件(在这个月内销售,而不管它是在那个月生 ...

  5. MYSQL初级学习笔记八:MySQL中常用的函数!(视频序号:初级_45-50)

    知识点十:MySQL中的函数(45-50) 数学函数: 名称 描述 CEIL() 进一取整 FLOOR() 舍一取整 MOD 取余数(取摸) POWER() 幂运算 ROUND() 四舍五入 TRUN ...

  6. hdu-5719 Arrange(组合数学)

    题目链接: Arrange Time Limit: 8000/4000 MS (Java/Others)     Memory Limit: 262144/262144 K (Java/Others) ...

  7. MariaDB + Visual Studio 2017 环境下的 ODBC 入门开发

    参考: Easysoft公司提供的ODBC教程 微软提供的ODBC文档 环境: Windows 10 x64 1803 MariaDB TX 10.2.14 x64 MariaDB ODBC Conn ...

  8. F - Candy Bags

    A. Candy Bags time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  9. django上课笔记3-ORM补充-CSRF (跨站请求伪造)

    一.ORM补充 ORM操作三大难点: 正向操作反向操作连表 其它基本操作(包含F Q extra) 性能相关的操作 class UserInfo(models.Model): uid = models ...

  10. ORACLE PL/SQL 实例精解之第二章 通用编程语言基础

    通用编程语言基础 2.1PL/SQL编程基础 1. 字符类型:支持四中类型字符:字母,数字,符号和空格,组合一个或多个字符就会创建一个词汇单元 2. 词汇单元 a.标识符必须以字符开头 b.保留字是p ...