【oldboy】博客還是必須寫的哦
阿新 • • 發佈:2017-12-19
python1)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】博客還是必須寫的哦