IDE (集成開發環境)
VIM #經典的linux下的文本編輯器.
Emacs #linux文本編輯器,比vim 更容易使用
Eclipse #Java IDE ,支持python,c,c++
Visual Studio #微軟開發的IDE ,支持python, c++,java,c#
sublime python開發
pycharm 是主要用於python 開發的IDE
notepad++
字符串格式化輸出
佔位符 %s %d 必須輸入數字 %f 輸入的小數
name = input( "Name: ")
age = int(input("Age: "))
job = input("Job: ")
salary =input("Salary: ")
#判斷salary輸入的是不是數字
# if salary.isdigit():
# salary = int(salary)
# else:
# exit("must input digit") #退出程序
msg = '''
-------------- info of %s ----------------
Naem : %s
Age : %s
Job : %s
Salary : %d
----------------- end ----------------------
''' % (name,name,age,job,salary)
print( msg)
數據運算
數據類型的初識
1.數字
1.1整數int(integer)
1.11整型,代表的數據有限,正負2的30次方(1073741824)
1.12長整型,代表的數據較大
在python3已經不區分整型與長整型,統一叫整型
2.字符串
2.11.salary.isdigit 中間的點的意思取這個字符串的屬性
3.浮點型,是用來處理實數,是所有理數和無理數的集合,在大多數時候都是小數
4.複數:
布爾值
只有兩種狀態,分別是真(True),假(False)
for循環
for i in range(3):
print(i)
for 循環打印奇數
for i in range(1,101,2): # 2這個數字叫步長
print(i)
for i in range(1,101):
if i % 2 == 1 #取餘
print(i)
這兩種方式,執行結果一樣…
打印某段中間段的數字不打印.
for i in range(1,101):
if i < 50 or i > 70:
print(i)
這樣50到70就不會被打印…
循環登陸
_user = "aa"
_password = "123"
for i in range(3):
username = input("Username: ")
userPassword = input("userPassword: ")
if username == _user and userPassword == _password :
print("Welcome %s login ....." % _user)
break #終端,退出循環
else:
print("賬號密碼錯誤,請重新輸入")
加上一個變量,多次錯誤的時候進行一個判斷
_user = "aa"
_password = "123"
pass_authention = False
for i in range(3):
username = input("Username: ")
userPassword = input("userPassword: ")
if username == _user and userPassword == _password :
print("Welcome %s login ....." % _user)
pass_authention = True
break
else:
print("賬號密碼錯誤,請重新輸入")
if not pass_authention :
print("不要試了")
_user = "aa"
_password = "123"
for i in range(3):
username = input("Username: ")
userPassword = input("userPassword: ")
if username == _user and userPassword == _password :
print("Welcome %s login ....." % _user)
break #for循環,終端,
else:
print("賬號密碼錯誤,請重新輸入")
else: #只要上面for循環能夠正常執行完畢,就執行下面語句,
print("不要試了")
上面兩個執行結果一樣…
用while循環修改
_user = "aa"
_password = "123"
conuter = 0
while conuter < 3:
username = input("Username: ")
userPassword = input("userPassword: ")
if username == _user and userPassword == _password :
print("Welcome %s login ....." % _user)
break #for循環,終端,
else:
print("賬號密碼錯誤,請重新輸入")
conuter += 1
else: #只要上面for循環能夠正常執行完畢,就執行下面語句,
print("不要試了")
再多加一個判斷
_user = "aa"
_password = "123"
conuter = 0
while conuter < 3:
username = input("Username: ")
userPassword = input("userPassword: ")
if username == _user and userPassword == _password :
print("Welcome %s login ....." % _user)
break #for循環,終端,
else:
print("賬號密碼錯誤,請重新輸入")
conuter += 1
if conuter == 3:
keep_going_choec = input("還要試試?: [y/n]")
if keep_going_choec == "y":
conuter = 0
else: #只要上面for循環能夠正常執行完畢,就執行下面語句,
print("不要試了")
continue #跳出本次循環,繼續下一次循環.
break # 跳出當層程序循環
exit #
多層關聯,同時跳出循環
exit_flag = False #先定義
for i in range (10):
if i < 5:
continue
print(i)
for j in range(10):
print(j)
if j == 6:
exit_flag = True #當定義的等於True的時候,跳出循環
break
if exit_flag: #當上面跳出循環,這層也跳出循環
break
字符串,列表,元組,字典
列表
列表的創建用中括號
a=['aa','bb','cc','dd','ee']
對列表進行增刪改查
通過列表的索引值來取對應的信息
切片查詢
print(a[1])
執行結果
bb
切片,同時取多個,中括號中間加個冒號,再加上對應的下標
print(a[1:3])
執行結果
['bb', 'cc']
如果在不知道這個列表有多少的情況下,想看所有,就是冒號後面什麼都不加
print(a[1:]) #取到最後
print(a[1:-1]) #取到倒數第二值
print(a[1:-1:1]) #從左到右一個一個去取,後面的這個1,叫步長..
print(a[3::-1]) #從右到左,從下標是3的開始一個一個的取.
執行結果
['bb', 'cc', 'dd', 'ee']
['bb', 'cc', 'dd']
['bb', 'cc', 'dd']
['dd', 'cc', 'bb', 'aa']
增
append #這個插入直接添加到列表的最後
insert #可以把某個內容添加到某一個位置
####### oppend插入
a=['aa','bb','cc','dd','ee']
a.append('ff')
print(a)
執行結果
['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
####### insert插入
a=['aa','bb','cc','dd','ee']
a.insert(1,'ff')
print(a)
執行結果
['aa', 'ff', 'bb', 'cc', 'dd', 'ee']
修改
直接通過賦值操作,就是修改…
a=['aa','bb','cc','dd','ee']
a[1]='tt'
print(a)
執行結果
['aa', 'tt', 'cc', 'dd', 'ee']
同時修改多個
a=['aa','bb','cc','dd','ee']
a[1:3]=['a','b']
print(a)
執行結果
['aa', 'a', 'b', 'dd', 'ee']
刪除
####### remove
a=['aa','bb','cc','dd','ee']
a.remove('aa') #後面直接添加需要刪除的值
print(a)
執行結果
['bb', 'cc', 'dd', 'ee']
####### POP
a=['aa','bb','cc','dd','ee']
b=a.pop(1) #根據索引來刪除對應的值
print(a)
print(b) #返回刪除的值
執行結果
['aa', 'cc', 'dd', 'ee']
bb
####### del
a=['aa','bb','cc','dd','ee']
del a[0] #可以刪除所有
print(a)
執行結果
['bb', 'cc', 'dd', 'ee']
a=['aa','bb','cc','dd','ee']
del a #對象被刪除了
print(a)
執行結果
print(a)
NameError: name 'a' is not defined
其他操作
count
主要作用統計某個元素在列表中出現的次數.
pr=['to','not','or','be','to','no'].count('to')
print(pr)
執行結果
2
extend
主要在列表的末尾一次性追加另一個序列中的多個值…
b = [1,2,3]
c = [4,5,6]
b.extend(c)
print(b)
print(c)
執行結果
[1, 2, 3, 4, 5, 6]
[4, 5, 6]
index
通過列表值來取某個值的位置(索引值又叫下標)
a = ['aa','bb','cc','dd','ee']
print(a.index('bb'))
執行結果
1
用index取在同一個列表中多個相同值的索引值
a = ['aa','bb','cc','dd','ee','dd','cc']
first_cc_index =a.index("cc") #先取出,在大列表中第一個值的索引值
print("first_cc_index",first_cc_index)
little_list = a[first_cc_index+1:] #切片取小列表
second_cc_index = little_list.index("cc") #取第二個值在小列表的位置
print("second_cc_index",second_cc_index)
second_cc_index_in_big_list = first_cc_index +second_cc_index + 1 #通過第一值的位置和小列值的位置,來計算出,第二個值在大列表的位置
print("second_cc_index_in_big_list",second_cc_index_in_big_list)
print("second cc:",a[second_cc_index_in_big_list])
執行結果
first_cc_index 2
second_cc_index 3
second_cc_index_in_big_list 6
second cc: cc
reverse
列表值倒序
a = ['aa','bb','cc','dd','ee','dd','cc']
a.reverse()
print(a)
執行結果
['cc', 'dd', 'ee', 'dd', 'cc', 'bb', 'aa']
sort
排序由小到大
也可以對字母進行排序,字母是按照Assic碼列表排序
a = [1,0,3,9,2,4,6,7]
a.sort(reverse=True)
#a.reverse()
print(a)
執行結果
[0, 1, 2, 3, 4, 6, 7, 9]