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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值