python flag函数_Python(函数基础,阶段总联系)
一,求累加和續
題目:現在,不僅局限于求解100的累加和,使用函數式編程把這個100編程參數,使得可以求解任意累加和。
程序:
def cal_sum(number):
a=0
for i in range(number+1):
a=a+i
return a
num1=40
num2=150
sum1=cal_sum(num1)
sum2=cal_sum(num2)
print("{}的累加和是:{}".format(num1,sum1))
print("{}的累加和是:{}".format(num2,sum2))
結果:
40的累加和是:820
150的累加和是:11325
二,不重復三位數續
題目:前面我們曾使用1,2,3,4四個數字構成了無重復數字的三位數,現在我們定義兩個參數,low和high,問使用low到high的n個數字能夠構成多少個無重復數字的三位數。
程序:
def triple_number(low, high):
count = 0
for i in range(low, high + 1):
for j in range(low, high + 1):
for k in range(low, high + 1):
if i != j and i != k and j != k:
print(i * 100 + j * 10 + k)
count += 1
print("當可選的數字為{}-{}時,一共有{}個三位數" .format(low, high, count))
triple_number(1, 4)
triple_number(2, 6)
結果:
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
當可選的數字為1-4時,一共有24個三位數
234
235
236
243
245
246
253
254
256
263
264
265
324
325
326
342
345
346
352
354
356
362
364
365
423
425
426
432
435
436
452
453
456
462
463
465
523
524
526
532
534
536
542
543
546
562
563
564
623
624
625
632
634
635
642
643
645
652
653
654
當可選的數字為2-6時,一共有60個三位數
三,猜數字游戲續
題目:在玩游戲的時候我們需要主持人輸入正確數字和正確的數字范圍,現在定義一個函數,并把這三個數作為參數傳遞給函數,實現函數式的猜數字游戲。游戲規則
程序:
def guss_play(true_number,low_number,high_number):
count=1
while count<=5:
guss_number=int(input("數字的范圍是{}-{},現在是第{}次猜測:".format(low_number,high_number,count)))
if guss_number==true_number:
print("恭喜你猜對了")
break
elif low_number
low_number=guss_number
elif true_number
high_number=guss_number
count+=1
if count>5:
print("很遺憾,您的五次都沒有猜對。正確的數字是:{}".format(true_number))
guss_play(150,100,200)
結果:
數字的范圍是100-200,現在是第1次猜測:144
數字的范圍是144-200,現在是第2次猜測:15
數字的范圍是144-200,現在是第3次猜測:167
數字的范圍是144-167,現在是第4次猜測:170
數字的范圍是144-167,現在是第5次猜測:150
恭喜你猜對了
四,nn乘法表
題目:學習了函數之后,我們將不再局限于輸入九九乘法表了,讓我們把”九“作為參數,打印不同的乘法表。
程序:
def multiple_table(n):
for i in range(1,n+1):
for j in range(i, n + 1):
print("{}x{}={}".format(i, j, i * j), end="\t")
print("\n")
# 九九乘法表
multiple_table(9)
# 五五乘法表
multiple_table(5)
結果:
1x1=1 ? 1x2=2 ? 1x3=3 ? 1x4=4 ? 1x5=51x6=6 ? ?1x7=7 ? 1x8=8 ? 1x9=9
2x2=4 ? 2x3=6 ? 2x4=8 ? 2x5=10 ?2x6=12x7=14 ? 2x8=16 ?2x9=18
3x3=9 ? 3x4=12 ?3x5=15 ?3x6=18 ?3x7=23x8=24 ? 3x9=27
4x4=16 ?4x5=20 ?4x6=24 ?4x7=28 ?4x8=34x9=36
5x5=25 ?5x6=30 ?5x7=35 ?5x8=40 ?5x9=45
6x6=36 ?6x7=42 ?6x8=48 ?6x9=54
7x7=49 ?7x8=56 ?7x9=63
8x8=64 ?8x9=72
9x9=81
1x1=1 ? 1x2=2 ? 1x3=3 ? 1x4=4 ? 1x5=5
2x2=4 ? 2x3=6 ? 2x4=8 ? 2x5=10
3x3=9 ? 3x4=12 ?3x5=15
4x4=16 ?4x5=20
5x5=25
五,求解所有素數
題目:使用函數求解low到high之間的所有素數(包括low和high本身)
思路:我們在判斷一個數x是不是素數的時候,可以設置一個flag變量,并設置他的初始值為字符串”是素數“。如果從2到x-1的循環中,x不能整除其中任何一個數,那x就是素數,此時flag保持等于”是素數“不變。但是如果在循環過程中,x可以整除任何一個數,flag的值變為”不是素數“。當flag等于”是素數“時,判斷這個數為素數;當flag等于”不是素數“時,判斷這個數不是素數。
程序:
def find_number(low,high):
for i in range(low,high+1):
flag="是素數"
for j in range(2,i):
if i%j==0:
flag="不是素數"
break
if flag=="是素數":
print(i)
find_number(101,200)
結果:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
總結
以上是生活随笔為你收集整理的python flag函数_Python(函数基础,阶段总联系)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串缓冲区太小怎么解决_epoll的两
- 下一篇: python循环五角星做法_python