python入門的基礎練習(三)

2021-10-13 01:21:06 字數 4256 閱讀 1145

break是結束迴圈,break之後、迴圈體內**不再執行。

while true:

yn = input('continue(y/n): ')

if yn in ['n', 'n']:

break

print('running...')

計算100以內偶數之和。

continue是跳過本次迴圈剩餘部分,回到迴圈條件處。

sum100 = 0

counter = 0

while counter < 100:

counter += 1

# if counter % 2:

if counter % 2 == 1:

continue

sum100 += counter

print(sum100)

astr = 'hello'

alist = [10, 20, 30]

atuple = ('bob', 'tom', 'alice')

adict =

for ch in astr:

print(ch)

for i in alist:

print(i)

for name in atuple:

print(name)

for key in adict:

print('%s: %s' % (key, adict[key]))

# range(10)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# >>> list(range(10))

# range(6, 11) # [6, 7, 8, 9, 10]

# range(1, 10, 2) # [1, 3, 5, 7, 9]

# range(10, 0, -1) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

sum100 = 0

for i in range(1, 101):

sum100 += i

print(sum100)

列表中先給定兩個數字,後面的數字總是前兩個數字之和。

fib = [0, 1]

for i in range(8):

print(fib)

for i in range(1, 10):

for j in range(1, i + 1):

print('%s*%s=%s' % (j, i, i * j), end=' ')

print()

# i=1 ->j: [1]

# i=2 ->j: [1,2]

# i=3 ->j: [1,2,3]

#由使用者指定相乘到多少

n = int(input('number: '))

for i in range(1, n + 1):

for j in range(1, i + 1):

print('%s*%s=%s' % (j, i, i * j), end=' ')

print()

# 10+5的結果放到列表中

[10 + 5]

# 10+5這個表示式計算10次

[10 + 5 for i in range(10)]

# 10+i的i來自於迴圈

[10 + i for i in range(10)]

[10 + i for i in range(1, 11)]

# 通過if過濾,滿足if條件的才參與10+i的運算

[10 + i for i in range(1, 11) if i % 2 == 1]

[10 + i for i in range(1, 11) if i % 2]

# 生成ip位址列表

['192.168.1.%s' % i for i in range(1, 255)]

import random

all_choices = ['石頭', '剪刀', '布']

win_list = [['石頭', '剪刀'], ['剪刀', '布'], ['布', '石頭']]

prompt = """(0) 石頭

(1) 剪刀

(2) 布

請選擇(0/1/2): """

cwin = 0

pwin = 0

while cwin < 2 and pwin < 2:

computer = random.choice(all_choices)

ind = int(input(prompt))

player = all_choices[ind]

print("your choice: %s, computer's choice: %s" % (player, computer))

if player == computer:

print('\033[32;1m平局\033[0m')

elif [player, computer] in win_list:

pwin += 1

print('\033[31;1myou win!!!\033[0m')

else:

cwin += 1

print('\033[31;1myou lose!!!\033[0m')

# 檔案操作的三個步驟:開啟、讀寫、關閉

# cp /etc/passwd /tmp

f = open('/tmp/passwd') # 預設以r的方式開啟純文字檔案

data = f.read() # read()把所有內容讀取出來

print(data)

data = f.read() # 隨著讀寫的進行,檔案指標向後移動。

# 因為第乙個f.read()已經把檔案指標移動到結尾了,所以再讀就沒有資料了

# 所以data是空字串

f.close()

f = open('/tmp/passwd')

data = f.read(4) # 讀4位元組

f.readline() # 讀到換行符\n結束

f.readlines() # 把每一行資料讀出來放到列表中

f.close()

################################

f = open('/tmp/passwd')

for line in f:

print(line, end='')

f.close()

##############################

f.read(4096)

f.close()

##################################

f = open('/tmp/myfile', 'w') # 'w'開啟檔案,如果檔案不存在則建立

f.write('hello world!\n')

f.flush() # 立即將快取中的資料同步到磁碟

f.writelines(['2nd line.\n', 'new line.\n'])

f.close() # 關閉檔案的時候,資料儲存到磁碟

##############################

with open('/tmp/passwd') as f:

print(f.readline())

#########################

f = open('/tmp/passwd')

f.tell() # 檢視檔案指標的位置

f.readline()

f.tell()

f.seek(0, 0) # 第乙個數字是偏移量,第2位是數字是相對位置。

# 相對位置0表示開頭,1表示當前,2表示結尾

f.tell()

f.close()

f1 = open('/bin/ls', 'rb')

f2 = open('/root/ls', 'wb')

data = f1.read()

f2.write(data)

f1.close()

f2.close()

Python入門基礎(三)

python程式能用很多方式處理日期和時間。轉換日期格式是乙個常見的例行瑣事。python有乙個time and calendar模組可以幫忙。時間間隔是以秒為單位的浮點小數。每個時間戳都以自從1970年1月1日午夜 曆元 經過了多長時間來表示。python附帶的受歡迎的time模組下有很多函式可以...

python基礎練習題(三)

1.求100以內的所有自然數中能被3整除的自然數的個數以及它們之和 from functools import reduce s for i in range 1,101 if i 3 0 sum reduce lambda x,y x y,s print sum is sum,len is len...

Python 入門之類的基礎語法(三)

r星校長 第3關 繫結與方法呼叫 在 python 中,如果用例項去呼叫方法,這種限制就被稱為 python 中的繫結 binging 沒有建立例項時,方法就是未繫結的。呼叫繫結方法 在定義方法時,self總是作為第乙個引數傳遞的。self代表例項本身,self.變數代表呼叫此例項的變數,self....