1. 程式人生 > >【oldboy】博客還是必須寫的哦

【oldboy】博客還是必須寫的哦

python

1)raw_input:終端輸入,輸入為"字符串"

打印用戶輸入用戶名和密碼
#!/usr/bin/env python
# -*- coding:utf-8 -*-

#getpass模塊提供了三個方法(pycharm中該模塊不能使用):
#1)getpass.getuser()  獲取登錄用戶名
#2)getpass.getpass()  輸入用戶密碼,終端默認是看不見密碼的
import getpass

i1 = getpass.getuser()
i2 = raw_input("Username:")
i3 = getpass.getpass("Password:")

print "loginuser:%s\nUsername:%s\nPassword:%s" %(i1,i2,i3)

*****************************************************************************************
用戶登錄,3次機會
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import getpass

times = 1

while True:
    Username = raw_input("Username:")
    # Password = getpass.getpass('Password:')
    Password = raw_input("Password:")

    if Username == 'kxc' and Password == 'kxc123':
        print "Login Sucess!"        #如果成功登錄,直接退出
        break
    elif Username == 'kxc' and Password != 'kxc123':
        print "Password is error!"
    elif Username != 'kxc' and Password == "kxc123":
        print "Username is error!"
    else:
        print "please check Username and Password!Both is error!"
    if times == 3:     #只要保證time自增在if語句之後即可
        break
    times += 1

2)條件語句和while循環語句

求1-100以內所有整數的和
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import time

#方式1:range()生成隨機正整數
n1 = range(1,101)
sum = 0

while True:
    for i in n1:
        sum += i
    print sum
    break

#方式2:原始的while方式
n1 = 1
sum = 0

while True:
    sum += n1
    if n1 == 100:
        break
    n1 += 1
print sum

*****************************************************************
求1x2+3x4+5...100的和
#!/usr/bin/env python
# -*- coding:utf-8 -*-

n1 = range(1,101)
list_jishu = []
list_oushu = []
sum = 0

while True:
    #先求出來奇數和偶數列表集合
    for i in n1:
        if i % 2 == 0:
            list_oushu.append(i)
        else:
            list_jishu.append(i)

    #對上述所求列表進行相乘計算
    for j in list_jishu:
        for k in list_oushu:
            sum += j * k
    print "1*2+3*4...99的和為:%s" %sum
    break

*************************************************************
輸出1-100以內所有奇數和偶數
#!/usr/bin/env python
# -*- coding:utf-8 -*-


n1 = range(1,101)
list_jishu = []
list_oushu = []

while True:
    for i in n1:
        if i % 2 == 0:
            list_oushu.append(i)
        else:
            list_jishu.append(i)
    print "1-100以內奇數為:%s" %list_jishu
    print "1-100以內奇數為:%s" %list_oushu
    break

********************************************************************
輸出10以內除7整數
#!/usr/bin/env python
# -*- coding:utf-8 -*-

#break 跳出整個循環,下面的代碼會直接跳出,不再執行
#continue 跳出本次循環,開始新的循環,continue後面的代碼不再執行
#continue必須放在break之前

import time
n1 = 1

while True:
    if n1 == 7:
        n1 += 1
        continue
    print n1
    time.sleep(1)
    if n1 == 10:
        break
    n1 += 1

3)運算符

#!/usr/bin/env python
#-*- coding:utf-8 -*-

#算數運算符
"""
+ - * / %(取余) **(冪運算) //(取整,返回商的整數部分)
"""

#比較運算符
"""
==(需要註意=為賦值)
!=  <>(不等於,和!=一樣)
> < >= <=
"""

#賦值運算符
"""
=(簡單賦值)
+=  -=  *=  /=  %=  **=  //=
"""

#邏輯運算符
"""
and or not
"""

#成員運算符
"""
in  常用於序列中判斷所屬關系
not in
"""

4)數據類型

4.1)查看數據類型的方法

#查看數據類型的方法
str1 = 'kxc'
str2 = type(str1) #查看數據類型的類型
print dir(str2)  #查看數據類型的方法
help(str2)  #查看數據類型方法的細節

4.2)字符串功能剖析

#str類型功能剖析
a1 = 'alex'
print a1.capitalize()  #capitalize(self)首字母大寫

print a1.center(20,'*')  #center(self,width,fillchar),字符串居中,兩端填充*
print a1.ljust(20,'*')  #center(self,width,fillchar),字符串左對齊,右端填充*
print a1.rjust(20,'*')  #center(self,width,fillchar),字符串右對齊,左端填充*

print a1.count('a')  #count(self,sub,start=None,end=None),獲取子序列sub的個數

print a1.endswith('x')  #endswith(self,sub,start=None,end=None),判斷字符串是否以sub結尾
print a1.startswith('a')  #startswith(self,sub,start=None,end=None),判斷字符串是否以sub開頭

print a1.find('e')  #find(self,sub,start=None,end=None),尋找子序列sub的索引,找不到返回-1
print a1.rfind('e')  #rfind(self,sub,start=None,end=None),尋找子序列sub的索引,找不到返回-1;從右向左找

s = 'hello {0}\nage {1}\nheight {2}'
print s.format('alex',23,170)  #format(self,awgs,**awgs),字符串格式化,這裏{0} {1}占位符

print a1.isalnum()  #isalnum(self),檢驗字符串是否都是字母和數字
print a1.isalpha()  #isalpha(self),檢驗字符串是否都為字母
print a1.isdigit()  #isdigit(self),檢驗字符串是否都為數字
print a1.islower()  #islower(self),檢驗字符串是否都是小寫
print a1.isupper()  #isupper(self),檢驗字符串是否都為大寫
print a1.istitle()  #istitle(self),檢驗字符串是否為標題,即所有單詞的首字母是否為大寫

print '_'.join(a1)  #join(self,iterable),對可叠代對象進行拼接,不僅可用於字符串,也可用於list

print a1.lower()  #lower(self),字符串全部變為小寫
print a1.upper()  #uppwe(self),字符串全部變為大寫
print a1.title()  #title(self),字符串變為標題,即所有單詞的首字母變為大寫

a2 = ' al ex '
print a2
print a2.lstrip()  #lstrip(self,char),常用語去掉字符串左邊空格;默認為空格
print a2.rstrip()  #lstrip(self,char),常用語去掉字符串右邊空格;默認為空格
print a2.strip()  #strip(self,char),常用語去掉字符串兩邊空格,不會去掉中間空格;默認為空格

print a1.replace('alex','kxc')  #replace(self,old,new,count),替換老字符串為新字符串,count為替換幾次

a3 = 'alex eric'
print a3.partition('e')  #partition(self,seq),對字符串進行分割,輸出一個三元的元祖
print a3.rpartition('e')  #rpartition(self,seq),對字符串進行分割,輸出一個三元的元祖;從右向左找

print a3.split('e')  #split(self,seq,count=-1),對字符串進行分割,輸出列表形式,count默認為-1,表示一直到最後
print a3.rsplit('e')  #rspilt(self,seq,count=-1),count可以指定分割次數

************************************************************************************************************************
#字符串索引
s = 'alex'

print len(s)  #len(object),獲取對象的長度,當然也包括列表嘍
print s[0]  #索引錯誤會爆出異常

*************************************************************************************************************************
#字符串切片
print s[0:2]  #獲取字符串一段範圍的子序列;一般<=最大值,即>=0 <

*************************************************************************************************************************
#循環:當字符串長度過大時,需要借助循環來輸出子序列
start = 0

while start < len(s):
    temp = s[start]
    print temp
    start += 1

for item in s:  #此處for循環明顯比while比較好,
    print item

for item in s:  #break和continue也是適用的
    if item == 'e':
        break/continue


【oldboy】博客還是必須寫的哦