Python練手例子(10)

2022-07-31 23:24:16 字數 3458 閱讀 6331

55、學習使用按位取反~。

程式分析:~0=1; ~1=0; 

(1)先使a右移4位。 

(2)設定乙個低4位全為1,其餘全為0的數。可用~(~0<<4) 

(3)將上面二者進行&運算。

#

python3.7

if__name__ == '

__main__':

a = 234b = ~a

print('

the a\'s 1 complement is %d

' %b)

a = ~a

print('

the a\'s 2 complement is %d

' % a)

56、畫圖,學用circle畫圓形。

#

python3.7

from tkinter import *

if__name__ == '

__main__':

canvas = canvas(width = 800, height = 600, bg = '

purple')

canvas.pack(expand = yes, fill =both)

k = 1j = 1

for i in range(0, 26):

canvas.create_oval(310 - k, 250 - k, 310 + k, 250 + k, width = 1)

k += 1j += 0.3mainloop()

57、畫圖,學用line畫直線。

#

python3.7

from tkinter import *

if__name__ == '

__main__':

canvas = canvas(width=300, height=300, bg='

gold')

canvas.pack(expand=yes, fill=both)

x0 = 263y0 = 263x1 = 275y1 = 275

for i in range(19):

canvas.create_line(x0, y0, x1, y1, width=1, fill='

red'

) x0 = x0 - 5y0 = y0 - 5x1 = x1 + 5y1 = y1 + 5x0 = 263y0 = 263y1 = 275

for i in range(21):

canvas.create_line(x0, y0, x0, y1, fill='

red'

) x0 += 5y0 += 5y1 += 5mainloop()

58、畫圖,學用rectangle畫方形。   

程式分析:rectangle(intleft,inttop,intright,intbottom)

引數說明:(left ,top )為矩形的左上座標,(right,bottom)為矩形的右下座標,兩者可確定乙個矩形的大小。

#

python3.7

from tkinter import *

if__name__ == '

__main__':

root =tk()

root.title(

'canvas')

canvas = canvas(root, width = 400, height = 400, bg = '

yellow')

x0 = 263y0 = 263x1 = 275y1 = 275

for i in range(19):

canvas.create_rectangle(x0, y0, x1, y1)

x0 -= 5y0 -= 5x1 += 5y1 += 5canvas.pack()

root.mainloop()

59、畫圖,綜合例子。  

程式分析:利用for迴圈控制100-999個數,每個數分解出個位,十位,百位。

#

python3.7

from tkinter import *

import

math

if__name__ == '

__main__':

canvas = canvas(width = 300, height = 300, bg = '

green')

canvas.pack(expand = yes, fill =both)

x0 = 150y0 = 100canvas.create_oval(x0 - 10, y0 - 10, x0 + 10, y0 + 10)

canvas.create_oval(x0 - 20, y0 - 20, x0 + 20, y0 + 20)

canvas.create_oval(x0 - 50, y0 - 50, x0 + 50, y0 + 50)

b = 0.809

for i in range(16):

a = 2 * math.pi / 16x = math.ceil(x0 + 48 *math.cos(a))

y = math.ceil(y0 + 48 * math.sin(a) *b)

canvas.create_line(x0, y0, x, y, fill = '

red'

) canvas.create_oval(x0 - 60, y0 - 60, x0 + 60, y0 + 60)

for k in range(501):

for i in range(17):

a = (2 * math.pi / 16) * i + (2 * math.pi / 180) *k

x = math.ceil(x0 + 48 *math.cos(a))

y = math.ceil(y0 + 48 + math.sin(a) *b)

canvas.create_line(x0, y0, x, y, fill = '

red'

)

for j in range(51):

a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k - 1x = math.ceil(x0 + 48 *math.cos(a))

y = math.ceil(y0 + 48 * math.sin(a) *b)

canvas.create_line(x0, y0, x, y, fill = '

red'

) mainloop()

60、計算字串長度。

#

python3.7

sstr1 = '

strlen

'print(len(sstr1))

Python練手例子(10)

55 學習使用按位取反 程式分析 0 1 1 0 1 先使a右移4位。2 設定乙個低4位全為1,其餘全為0的數。可用 0 4 3 將上面二者進行 運算。python3.7 if name main a 234b a print the a s 1 complement is d b a a prin...

Python練手例子(2)

7 將乙個列表的資料複製到另乙個列表中。程式分析 使用列表 python3.7 適用於簡單列表 即列表中都是基本的元素 a1 1,2 b1 a1 print b1 不適合列表中包含列表的情況,如果要複製的列表中包含列表,只會複製那個列表的列表的引用 a2 1,2,3 b2 a2 print a2 p...

Python練手例子(6)

31 請輸入星期幾的第乙個字母來判斷一下是星期幾,如果第乙個字母一樣,則繼續判斷第二個字母。程式分析 用情況語句比較好,如果第乙個字母一樣,則判斷用情況語句或if語句判斷第二個字母。letter input please input if letter s print please input se...