使用者名稱密碼登入小程式及input與raw_input區別。,inputraw_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等。可參考上文。