日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python打九九乘法表上三角下三角_python经典练习题之九九乘法表、打印菱形、打印对顶三角形、斐波拉契数列、素数... - 小黑电脑...

發布時間:2024/3/13 python 44 豆豆

學學習簡單的練習,學到后面會有越來越多的解法來寫!

作業的目的是為了讓大家熟悉程序語言,鍛煉將思路轉換成程序邏輯。

九九乘法表

help(print)

先思考能不能打印出方陣

# 1 方陣

# 1 方陣

for i in range(1, 10):

line = ''

for j in range(1, 10):

line += str(i) + '*' + str(j) + '=' + str(i*j) + ' '

print(line)

print('-' * 30)

# 2 九九乘法表

for i in range(1, 10):

for j in range(1, 10):

if i >= j:

print(str(j) + '*' + str(i) + '=' + str(i*j), end=' ')

print()

print('-' * 30)

# 條件合并

for i in range(1, 10):

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

print(str(j) + '*' + str(i) + '=' + str(i*j), end=' ')

print()

print('-' * 30)

# 3 九九乘法表 對齊

for i in range(1, 10):

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

product = i * j

product = str(product) + ' ' if j > 1 and product < 10 else str(product) #這里用表達式(python推薦用)

print(str(j) + '*' + str(i) + '=' + product, end=' ')

print()

print('-' * 30)

# 4 九九乘法表 制表符對齊

for i in range(1, 10):

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

print(str(j) + '*' + str(i) + '=' + str(i*j), end='\t')

print()

print('-' * 30)

# 5 使用字符串format方法

for i in range(1, 10):

line = ''

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

line += '{0}*{1}={2} '.format(j, i, i*j)

print(line)

print('-' * 30)

# 5 對齊

for i in range(1, 10):

line = ''

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

line += '{0}*{1}={2:<2} '.format(j, i, i*j)

print(line)

print('-' * 30)

{2:<2}對應i*j,:<2冒號是分割符號,

# 5 對齊改進

for i in range(1, 10):

line = ''

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

product = i * j

line += '{}*{}={}{}'.format(j, i, product, ' ' if j > 1 and product < 10 else ' ')

print(line)

print('-' * 30)

# 其它對齊

for i in range(1, 10): # row

for j in range(1, i+1): # column [1, i+1) 1 <= j <= i

print("{}*{}={}{}".format(j, i, i*j, ' ' if j==2 and i<5 else ''),

end='\n' if i == j else ' ')

擴展題:

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27

4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36

5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

6*6=36 6*7=42 6*8=48 6*9=54

7*7=49 7*8=56 7*9=63

8*8=64 8*9=72

9*9=81

請打印成上面的形式

# 打印九九乘法表方陣的上半部分

for i in range(1, 10):

line = ''

print(' '*7*(i-1), end='') # 前置空格

for j in range(i, 10):

product = i * j

line += '{}*{}={}{}'.format(i, j, product, ' ' if product < 10 else ' ')

print(line)

下面采用右對齊方式,且分割均勻

for i in range(1, 10):

line = ''

for j in range(i, 10):

line += '{}*{}={:

print('{:>66}'.format(line))

打印如下菱形

*

***

*****

*******

*****

***

*

思路:

看到規律了嗎?

for i in range(-3,4):

if i<0:

prespace = -i

else:

prespace = i

print(' '*prespace + '*'*(7-prespace*2))

把if語句改成三元表達式的樣子,也可以使用abs(),內建絕對值函數

for i in range(-3, 4):

print(' ' * abs(i) + '*' * (7 - 2 * abs(i)))

居中打印

for i in range(-3, 4):

print("{:^7}".format('*'*(7-2*abs(i))))

當然菱形也可以居中打印,請自行完成

打印閃電

*

**

***

********

***

**

*

分析如下:

行號 *個數 前空格 后空格數 總空格數 數據

1 1 3 3 6 -3

2 2 2 3 5 -2

3 3 1 3 4 -1

4 7 0 0 0 0

5 3 3 1 4 1

6 2 3 2 5 2

7 1 3 3 6 3

代碼:

for i in range(-3, 4):

if i < 0:

print(' ' * (-i) + '*' * (4 + i))

elif i > 0:

print(' ' * 3 + '*' * (4 - i))

else:

print('*' * 7)

#延時擴展

n = 9

e = n // 2

x = n - e

for i in range(-e, x):

if i < 0:

print(' ' * -i + (x + i) * '*')

elif i > 0:

print(' ' * e + (x - i) * '*')

else: # i == 0

print('*' * n)

斐波那契數列,100以內

斐波那契數列_百度百科

斐波那契數列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

如果設F(n)為該數列的第n項(n∈N*),那么這句話可以寫成如下形式::F(n)=F(n-1)+F(n-2)

F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)

這是一個線性遞推數列

print(0)

print(1)

a = 0

b = 1

while True :

c = a + b

if c > 100 : break

a = b

b = c

print(c)

求斐波那契數列第101項

a = 1

b = 1

print('index={}, fib={}'.format(0, 0))

print('index={}, fib={}'.format(1, a))

print('index={}, fib={}'.format(2, b))

index = 2

while True:

c = a + b

index += 1

print('index={}, fib={}'.format(index, c))

if index == 101: break

a = b

b = c

# index=101, fib=573147844013817084101

求10萬內的所有素數

此題的目的是為了讓大家注意效率問題

for x in range(2,100):

for i in range(2,x):

if x % i == 0:

break

else:

print(x)

為什么到一個數的“一半”就可以了

for x in range(2,100000):

for i in range(2,int(x ** 0.5)+1):

if x % i == 0:

break

else:

print(x)

下面這段代碼是錯誤代碼,用x=4測試,因為內層循環缺少2,那么偶數就出了問題

for x in range(2,100000):

for i in range(3,int(x ** 0.5)+1,2):

if x % i == 0:

break

else:

print(x)

修改為

for x in range(3,100000,2): # 舍棄掉所有偶數

for i in range(3, int(x ** 0.5) + 1, 2): # 為什么從3開始,且step為2?

if x % i == 0:

break

else:

print(x)

為什么從3開始,且step為2?

既然沒有偶數,就不用和2取模了。

奇數%偶數能整除嗎

利用素數性質:所有大于10的質數中,個位數只有1,3,7,9。

count = 1

for x in range(3, 100000, 2): # 舍棄掉所有偶數

if x > 10 and x % 10 == 5: # 所有大于10的質數中,個位數只有1,3,7,9。意思就是大于5,結尾是5就能被5整除了

continue

for i in range(3, int(x ** 0.5) + 1, 2):

if x % i == 0:

break

else:

count += 1

print(x, count) # 9592

如何計算時間,import datetime

count = 0

for x in range(2,100000):

for i in range(2,x):

if x % i == 0:

break

else:

count += 1

print(count)

# 9592

count = 0

for x in range(2,100000):

for i in range(2,int(x ** 0.5)+1):

if x % i == 0:

break

else:

count += 1

print(count)

# 9592

應用在密碼學領域,都要使用大素數。

# 兩種算法的對比的完整代碼

import datetime

upper_limit = 100000

delta = [0,0]

counts = [0,0]

start = datetime.datetime.now()

for _ in range(10):

counts[0] = 0

for x in range(2,upper_limit):

for i in range(2,int(x ** 0.5)+1):

if x % i == 0:

break

else:

#print(x)

counts[0] += 1

delta[0] = (datetime.datetime.now() - start).total_seconds()

start = datetime.datetime.now()

for _ in range(10):

counts[1] = 1

#print(2)

for x in range(3,upper_limit,2):

for i in range(3,int(x ** 0.5)+1,2):

if x % i == 0:

break

else:

#print(x)

counts[1] += 1

delta[1] = (datetime.datetime.now() - start).total_seconds()

print(delta, sep="\t")

print(counts, sep="\t")

親,需要你的“分享”和“在看”

IT入門?感謝關注

程序員題庫→

程序員用的單詞表→

練習地址:www.520mg.com/it

總結

以上是生活随笔為你收集整理的python打九九乘法表上三角下三角_python经典练习题之九九乘法表、打印菱形、打印对顶三角形、斐波拉契数列、素数... - 小黑电脑...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 岛国av噜噜噜久久久狠狠av | 亚洲黄色成人网 | 91久久国产视频 | 午夜免费福利小视频 | 色女人网 | 18禁一区二区 | 日韩一级片在线 | 国产夜色精品一区二区av | 国产999视频 | 啪啪日韩 | a级免费毛片| 黄色在线免费网站 | 性生交大全免费看 | 天天干天天弄 | 一区二区三区在线看 | 欧美成人r级一区二区三区 中文无码一区二区三区在线观看 | 美女黄色免费网站 | 茄子视频色| 91热在线 | 国产综合日韩 | www.com毛片| av黄色成人 | 中文字幕在线免费看线人 | 成人精品福利视频 | 中文字幕免费在线看线人 | 美国黄色a级片 | 天堂免费在线视频 | 三上悠亚人妻中文字幕在线 | 就爱啪啪网站 | 久久久久亚洲视频 | 亚欧美一区二区三区 | 神马影院一区二区 | 国产成人97精品免费看片 | 久久久国产打桩机 | 中文字幕乱码中文乱码b站 国产一区二区三区在线观看视频 | 日本亲近相奷中文字幕 | 欧美精品久久久久久久久 | 久久久久久久久福利 | 亚洲第一黄色网址 | 国产自产精品 | 欧美裸体网站 | 日本成人午夜 | 亚洲国产视频在线观看 | 久久久久逼 | 久久精品国产亚洲AV成人婷婷 | 中日韩免费视频 | 午夜视频在线观看一区二区 | 香蕉久久久久 | 亚洲免费一区二区 | 国产精品视频专区 | 欧美日韩理论 | 久久久一二三区 | 黑色丝袜吻戏亲胸摸腿 | 亚洲激情自拍 | 久久亚洲成人av | 国产亚洲欧美在线精品 | 天天综合网久久 | 国产一区二区三区四区五区 | 中文字幕丰满乱子伦无码专区 | 国产色99 | 超碰蜜臀 | 日本少妇videos高潮 | 看黄免费网站 | 欧美色视频一区二区三区 | 精品国产二区三区 | 长河落日电视连续剧免费观看01 | chinese xxxx videos andvr | 成人精品免费 | 精品视频免费在线观看 | 亚洲专区欧美专区 | 日日爱夜夜爱 | 久久久久人妻一区 | 精品国产不卡 | 久久国| 国产精彩视频一区二区 | 极品少妇在线观看 | 国产国产乱老熟女视频网站97 | 免费观看成人av | 国产噜噜噜噜噜久久久久久久久 | 香蕉一级片 | 69亚洲精品 | 成人在线视频免费看 | 国产一区二区在线视频观看 | 国产九色在线播放九色 | 黄色美女一级片 | 亚洲第一区在线播放 | 天堂成人国产精品一区 | 国产中文字幕乱人伦在线观看 | 男人扒女人添高潮视频 | 色爽 | 华丽的外出在线观看 | 成人毛片网站 | 麻豆视频免费在线观看 | 麻豆蜜臀 | 国产精品第1页 | 破处视频在线观看 | 在线观看视频二区 | 日韩亚洲天堂 | 日韩黄色片免费看 |