python基礎練習(一)

代碼

# 註釋1
print('Hello, World!') #註釋2

print("厲害!")
if True:
    print("True")
else:
    print("false")

# input("\n\n按下 enter 鍵後退出。")
#a,b=eval(input())

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

total = 'item_one' + \
        'item_two' + \
        'item_three'
print(total)
total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']
print(total)

word = '字符串'
sentence = "這是一個句子。"
paragraph = """這是一個段落,
可以由多行組成"""
print(paragraph)

strC='Runoob'
 
print(strC)                 # 輸出字符串
print(strC[0:-1])           # 輸出第一個到倒數第二個的所有字符
print(strC[0])              # 輸出字符串第一個字符
print(strC[2:5])            # 輸出從第三個開始到第五個的字符
print(strC[2:])             # 輸出從第三個開始後的所有字符
print(strC * 2)             # 輸出字符串兩次
print(strC + '你好')        # 連接字符串
 
print('------------------------------')
 
print('hello\nrunoob')      # 使用反斜槓(\)+n轉義特殊字符
print(r'hello\nrunoob')     # 在字符串前面添加一個 r,表示原始字符串,不會發生轉義


expression = 1
if 0 : 
   print('0')
elif 1 : 
   print('1') 
else : 
   print('2')


x="a"
y="b"
# 換行輸出
print( x )
print( y )
 
print('---------')
# 不換行輸出
print( x, end=" " )
print( y, end=" " )
print()

import sys
print('================Python import mode==========================')
print ('命令行參數爲:')
for i in sys.argv:
    print (i)
print ('\n python 路徑爲',sys.path)

from sys import argv,path  #  導入特定的成員
 
print('================python from import===================================')
print('path:',path) # 因爲已經導入path成員,所以此處引用時不需要加sys.path

a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
isinstance(a, int)

list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
 
print (list)            # 輸出完整列表
print (list[0])         # 輸出列表第一個元素
print (list[1:3])       # 從第二個開始輸出到第三個元素
print (list[2:])        # 輸出從第三個元素開始的所有元素
print (tinylist * 2)    # 輸出兩次列表
print (list + tinylist) # 連接列表
print (list[1:3:2])     #第三個參數,作用是截取的步長


def reverseWords(inputs):
     
    # 通過空格將字符串分隔符,把各個單詞分隔爲列表
    inputWords = inputs.split(" ")
 
    # 翻轉字符串
    # 假設列表 list = [1,2,3,4],  
    # list[0]=1, list[1]=2 ,而 -1 表示最後一個元素 list[-1]=4 ( 與 list[3]=4 一樣)
    # inputWords[-1::-1] 有三個參數
    # 第一個參數 -1 表示最後一個元素
    # 第二個參數爲空,表示移動到列表末尾
    # 第三個參數爲步長,-1 表示逆向
    inputWords=inputWords[-1::-1]
 
    # 重新組合字符串
    output = ' '.join(inputWords)
     
    return output
 
if __name__ == "__main__":
    inputs = 'I like runoob'
    rw = reverseWords(inputs)
    print(rw)

#tuple 元組
tup1 = ()    # 空元組
tup2 = (20,) # 一個元素,需要在元素後添加逗號
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')
print (tuple)             # 輸出完整元組
print (tuple[0])          # 輸出元組的第一個元素
print (tuple[1:3])        # 輸出從第二個元素開始到第三個元素
print (tuple[2:])         # 輸出從第三個元素開始的所有元素
print (tinytuple * 2)     # 輸出兩次元組
print (tuple + tinytuple) # 連接元組

#set 集合
#基本功能是進行成員關係測試和刪除重複元素。
#可以使用大括號 { } 或者 set() 函數創建集合
#注意:創建一個空集合必須用 set() 而不是 { },因爲 { } 是用來創建一個空字典。
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)   # 輸出集合,重複的元素被自動去掉

# 成員測試
if 'Rose' in student :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')

# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
 
print(a - b)     # a 和 b 的差集
 
print(a | b)     # a 和 b 的並集
 
print(a & b)     # a 和 b 的交集
 
print(a ^ b)     # a 和 b 中不同時存在的元素

#dictionary字典
'''
列表是有序的對象集合,字典是無序的對象集合。
兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典是一種映射類型,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合。
鍵(key)必須使用不可變類型。
在同一個字典中,鍵(key)必須是唯一的。
'''
#dict = {}
#dict['one'] = "1 - 菜鳥教程"
#dict[2]     = "2 - 菜鳥工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.china.com'}
 
#print (dict['one'])       # 輸出鍵爲 'one' 的值
#print (dict[2])           # 輸出鍵爲 2 的值
print (tinydict)          # 輸出完整的字典
print (tinydict.keys())   # 輸出所有鍵
print (tinydict.values()) # 輸出所有值

dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) #要註釋掉前面自定義dict
{x: x**2 for x in (2, 4, 6)}
dict(Runoob=1, Google=2, Taobao=3)


'''
is 與 == 區別:
is 用於判斷兩個變量引用對象是否爲同一個, == 用於判斷引用變量的值是否相等。
'''

class Solution:
    # bin函數: bin返回一個整數的二進制字符串,以0b開頭,
    # bin(10) '0b1010'  bin(-10)  '-0b1010'
    #
    # count函數 返回字符串當中非重疊的字符串的個數,可以傳入start,end來表示對字符串切片的結果
    #
    #如果一個數爲負數,那麼2**32 + n 然後再用bin返回的就是它的補碼形式。 補碼+源碼=2**32
    def NumberOf1(self, n):
        if n >= 0:
            return bin(n).count('1')
        else:
            return bin(2**32 + n).count('1')
 
if __name__ == '__main__':
    solution = Solution()
    print(solution.NumberOf1(10))
    print(solution.NumberOf1(-1))

c = -15
print(bin(2**8 + c))

a = 10 #其二進制值爲0b00111100
n = 0 #用於計數
while a: #用移位方法求解,直到a移位爲0爲止
    if a & 1 == 1:
        n += 1 #將a與1進行位與操作,即可知道a的最後1位是否爲1,若爲1,則計數n增1,不然則無需變化n的值
    a >>= 1 #測試了a的最後一位後,將最後一位右移移除,重新賦值給a
print(n) #打印最後的計數數據

print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
para_strs = '''這是一個多行字符串的實例
多行字符串可以使用製表符
TAB ( \t )。
也可以使用換行符 [ \n ]。
'''
print (para_strs)

#f-string 格式化字符串以 f 開頭,後面跟着字符串,字符串中的表達式用大括號 {} 包起來,
#它會將變量或表達式計算後的值替換進去
name = 'Runoob'
print(f'Hello {name}')
x = 1
print(f'{x+1}')

strA = "this Is String Example From Runoob....Wow!!!"
print ("strA.capitalize() : ", strA.capitalize())

#nA = input("")
nA = "235345"
sA = "〇一二三四五六七八九"
for cA in "0123456789": 
  nA = nA.replace(cA, sA[eval(cA)])
print(nA)


#列表
list = ['Google', 'Runoob', 1997, 2000] 
print ("第三個元素爲 : ", list[2])
list[2] = 2001
print ("更新後的第三個元素爲 : ", list[2])
print ("更新後的右第三個元素爲 : ", list[-2])
del list[2]
print ("刪除第三個元素 : ", list)
list.append('Baidu')
print ("更新後的列表 : ", list)
for x in [1, 2, 3]: print(x, end=" ") #迭代


#集合
'''
集合(set)是一個無序的不重複元素序列。
可以使用大括號 { } 或者 set() 函數創建集合。
注意:創建一個空集合必須用 set() 而不是 { },因爲 { } 是用來創建一個空字典。
'''
#增加
print('\n')
thisset = set(("Google", "Runoob", "Taobao"))
thisset.add("Facebook")
thisset.update("FaFF")
thisset.update({"FaFF"})
print(thisset)
#刪除
thisset.remove('Runoob')
thisset.discard("aaaa")
print(thisset)
#隨機刪除一個
xset = thisset.pop()
print(xset)
print(thisset)
#個數
print("length = "+ str(len(thisset)))
#清空
thisset.clear()
print(thisset)

nA = input("")
sA = "〇一二三四五六七八九"
for c in "0123456789": 
  nA = nA.replace(c, sA[eval(c)])
print(nA)

結果

Hello, World!
厲害!
True
runoob
item_oneitem_twoitem_three
['item_one', 'item_two', 'item_three', 'item_four', 'item_five']
這是一個段落,
可以由多行組成
Runoob
Runoo
R
noo
noob
RunoobRunoob
Runoob你好
------------------------------
hello
runoob
hello\nrunoob
1
a
b
---------
a b 
================Python import mode==========================
命令行參數爲:
D:\python\hello.py

 python 路徑爲 ['D:\\python', 'D:\\Program Files\\Python\\Python37\\python37.zip', 'D:\\Program Files\\Python\\Python37\\DLLs', 'D:\\Program Files\\Python\\Python37\\lib', 'D:\\Program Files\\Python\\Python37', 'D:\\Program Files\\Python\\Python37\\lib\\site-packages']
================python from import===================================
path: ['D:\\python', 'D:\\Program Files\\Python\\Python37\\python37.zip', 'D:\\Program Files\\Python\\Python37\\DLLs', 'D:\\Program Files\\Python\\Python37\\lib', 'D:\\Program Files\\Python\\Python37', 'D:\\Program Files\\Python\\Python37\\lib\\site-packages']
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
[786]
runoob like I
('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')
{'Jack', 'Tom', 'Rose', 'Jim', 'Mary'}
Rose 在集合中
{'b', 'a', 'r', 'd', 'c'}
{'r', 'b', 'd'}
{'z', 'b', 'a', 'm', 'r', 'l', 'd', 'c'}
{'c', 'a'}
{'z', 'r', 'b', 'd', 'l', 'm'}
{'name': 'runoob', 'code': 1, 'site': 'www.china.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.china.com'])
2
32
0b11110001
2
我叫 小明 今年 10 歲!
這是一個多行字符串的實例
多行字符串可以使用製表符
TAB ( 	 )。
也可以使用換行符 [ 
 ]。

Hello Runoob
2
strA.capitalize() :  This is string example from runoob....wow!!!
二三五三四五
第三個元素爲 :  1997
更新後的第三個元素爲 :  2001
更新後的右第三個元素爲 :  2001
刪除第三個元素 :  ['Google', 'Runoob', 2000]
更新後的列表 :  ['Google', 'Runoob', 2000, 'Baidu']
1 2 3 

{'Runoob', 'a', 'Taobao', 'Google', 'FaFF', 'F', 'Facebook'}
{'a', 'Taobao', 'Google', 'FaFF', 'F', 'Facebook'}
a
{'Taobao', 'Google', 'FaFF', 'F', 'Facebook'}
length = 5
set()

3657674765
三六五七六七四七六五
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章