一、此次程序需要实现:

  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. hive增加Update、Delete支持

    一.配置hive-site.xml二.建表三.操作四.总结 一.配置hive-site.xml CDH版本先进入Hive配置页 选择高级,找到hive-site.xml 的 Hive 客户端高级配置代 ...

  2. 编写自定义PE结构的程序(如何手写一个PE,高级编译器都是编译好的PE头部,例如MASM,TASM等,NASM,FASM是低级编译器.可以自定义结构)

    正在学PE结构...感谢个位大哥的文章和资料...这里先说声谢谢 一般高级编译器都是编译好的PE头部,例如MASM,TASM等一直都说NASM,FASM是低级编译器.可以自定义结构但是苦于无人发布相关 ...

  3. vmware Ubuntu忘记登录密码

    VMware Workstation 上的Ubuntu 11.10 登录时,用户密码忘记了,以下是我对此问题解决的方法: 1)重新启动Ubtuntu 16 系统,同时长时间按住(或连续点击)esc键进 ...

  4. uestc 250 windy数(数位dp)

    题意:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 思路:数位dp #include<iostream ...

  5. 屏幕适配-使用autoLayout

    当遇见xib中无法删除的控件时. 将这个错误的控件拖离本xib(第一个元素.xib文件是有许多元素组成的集合),确保这个xib是正确的.重新创建一个xib文件,将这个正确的xib元素整个复制过去. 在 ...

  6. 「LuoguT36048」 Storm in Lover

    Description 平成二十四年(2012年),5月11日,东京,某弓道场. "呐,呐,海未酱,你听说了吗?几天后的那场弓道大会?啊-!"橙发少女兴奋地拿着一张传单一样的纸跑向 ...

  7. fastText(二):微博短文本下fastText的应用(一)

    众所周知,微博中的内容以短文本居多,文本内容随意性极强,这给建模增加了很大的难度.针对这一问题,这里分享一下fastText在微博短文本的应用. 任务目标简单介绍一下整个任务的目标:给微博内容打上标签 ...

  8. 在Ubuntu下获取Android4.0源代码并编译(一)

    搞了几个月的Android应用开发,勉强算是个Android开发者了吧,Android本就是开源的,还是把源代码下载下来自己编译一下,看看是个什么东西,出于好奇,和以后的职业发展,开始了无休止的And ...

  9. 洛谷P2575高手过招——SG函数初试

    题目:https://www.luogu.org/problemnew/show/P2575 第一次用SG函数解决问题,有许多不熟练的地方: 试图按自己的理解写一个dfs,结果错了(连题都没读对,以为 ...

  10. javascript break 和continue

    break语句还可以跳出循环,也就是结束循环语句的执行. continue语句的作用为结束本次循环,接着进行下一次是否执行循环的判断. continue与break的区别是:break是彻底结束循环, ...