一、此次程序需要实现:

  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. 使用zxing编写的二维码生成解析工具:QRCoder

    zxing GitHub地址 QRCoder GitHub地址 TipDialog.java package com.wolf_pan; import java.util.Timer; import ...

  2. Delphi如何实现多国语言

    Delphi里的多语言处理方法都一样, 都是通过资源DLL的形式进行加载处理. Delphi在加载form数据的时候会判断当前的系统语言,然后根据语言加载不同的资源dll, 来实现多国语言的功能. 下 ...

  3. 大整数分解质因数(Pollard rho算法)

    #include <iostream> #include <cstring> #include <cstdlib> #include <stdio.h> ...

  4. RK3399参考设计方案之DC-DC电源芯片RK808D【转】

    本文转载自:http://www.52rd.com/Blog/Detail_RD.Blog_sunnyqi_90673.html?WebShieldDRSessionVerify=Xv0bsGtD73 ...

  5. Linux 进程等待队列【转】

    本文转载自:http://blog.csdn.net/dlutbrucezhang/article/details/9212067 Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制 ...

  6. easyUI-右键菜单,关闭选项卡

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用

    目的 本文主要是分享iOS多线程的相关内容,为了更系统的讲解,将分为以下7个方面来展开描述. 多线程的基本概念 线程的状态与生命周期 多线程的四种解决方案:pthread,NSThread,GCD,N ...

  8. 贪吃蛇小游戏—C++、Opencv编写实现

    贪吃蛇游戏,C++.Opencv实现 设计思路: 1.显示初始画面,蛇头box初始位置为中心,食物box位置随机 2.按随机方向移动蛇头,按a.s.d.w键控制移动方向,分别为向左,向下,向右,向上 ...

  9. Unreachable code

    Unreachable code 错误 不可达代码,比如在循环的break或者return后面的代码就是不可达代码,因为在执行它们之前就已经跳出方法了,只要把这段代码移到break或者return之前 ...

  10. Java throw与throws

    以前虽然知道一些异常的处理,也用过一些,但是对throw和throws区别还是有不太清楚.今天用实例测试一下. 异常处理机制 异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等 ...