学python(02)——关于循环的经典试题理解
2017-12-10 16:16
567 查看
1. 百钱买百鸡
假如你手上有100块钱,你需要买100只鸡。这个时候你去市场上,发现鸡有三种:母鸡3元一只,公鸡1元一只,小鸡0.5元一只,现在请问你有多少种买法可以把钱花完?
思路:根据题目不难想到,母鸡最多可以买33只(i),公鸡最多可以买100只(j),而小鸡最多也只能买100只(k)(因为只需要买100只鸡)。
只要三个鸡的数量(变量)能满足共100只(之和为100),并且满足花完100元(乘积之和为100),那么这就算是一种方法。令一个变量numb在打印出一种方法后自增+1,那么,最终打印numb的值即为方法的个数。
答案如下:
numb = 0#买鸡的方法个数
for i in range(0,34):#母鸡可以购买的范围
for j in range(0,101):#公鸡可以购买的范围
for k in range (0,101):#小鸡可以购买的范围
if i*3+j*1+k*0.5==100 and i+j+k==100:#满足题目中的要求
print(i,j,k)#打印各种鸡的个数
numb += 1#买鸡方法个数
print(numb)#打印出买鸡方法的个数
结果有2部分,第一部分是买鸡的个数,第二部分为买鸡方法的个数。一共有21种。
跟兄弟连Python学习交流、资源共享群:563626388 QQ
2. 使用循环写出九九乘法表
思路:两个数值都是变化的,并且区间固定,所以生成2个变量,使其都在0~9之间。
当A变量为一个值得时候,使B变量开始循环,并且打印出两个数值的乘积,而且当A=B的时候,停止B的循环并且换行打印,使A开始循环下一个值,然后B再进行一次循环,以此类推……直至A =9,B=9时,打印9*9=81.结束函数
答案如下:
for i in range(1,10): #i取0~9
for j in range(1,10) #j取0~9
result = i * j #用一个变量表示乘积
print( i ‘*’ j ‘=’result,end = ‘’) #打印出乘法表达式,并且使其在一行
if i = j:
print(‘\n’)
break #当i = j 时候,使其换行,并且终止j的循环
j += 1
i += 1
假如你手上有100块钱,你需要买100只鸡。这个时候你去市场上,发现鸡有三种:母鸡3元一只,公鸡1元一只,小鸡0.5元一只,现在请问你有多少种买法可以把钱花完?
思路:根据题目不难想到,母鸡最多可以买33只(i),公鸡最多可以买100只(j),而小鸡最多也只能买100只(k)(因为只需要买100只鸡)。
只要三个鸡的数量(变量)能满足共100只(之和为100),并且满足花完100元(乘积之和为100),那么这就算是一种方法。令一个变量numb在打印出一种方法后自增+1,那么,最终打印numb的值即为方法的个数。
答案如下:
numb = 0#买鸡的方法个数
for i in range(0,34):#母鸡可以购买的范围
for j in range(0,101):#公鸡可以购买的范围
for k in range (0,101):#小鸡可以购买的范围
if i*3+j*1+k*0.5==100 and i+j+k==100:#满足题目中的要求
print(i,j,k)#打印各种鸡的个数
numb += 1#买鸡方法个数
print(numb)#打印出买鸡方法的个数
结果有2部分,第一部分是买鸡的个数,第二部分为买鸡方法的个数。一共有21种。
跟兄弟连Python学习交流、资源共享群:563626388 QQ
2. 使用循环写出九九乘法表
思路:两个数值都是变化的,并且区间固定,所以生成2个变量,使其都在0~9之间。
当A变量为一个值得时候,使B变量开始循环,并且打印出两个数值的乘积,而且当A=B的时候,停止B的循环并且换行打印,使A开始循环下一个值,然后B再进行一次循环,以此类推……直至A =9,B=9时,打印9*9=81.结束函数
答案如下:
for i in range(1,10): #i取0~9
for j in range(1,10) #j取0~9
result = i * j #用一个变量表示乘积
print( i ‘*’ j ‘=’result,end = ‘’) #打印出乘法表达式,并且使其在一行
if i = j:
print(‘\n’)
break #当i = j 时候,使其换行,并且终止j的循环
j += 1
i += 1
相关文章推荐
- python中关于__name__和__main__的理解
- 关于杨辉三角的循环控制【经典】
- 关于Python 浅拷贝与深拷贝的一些理解
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等) .
- 关于Python中pip的理解
- 关于AngularJs中监听事件及脏循环的理解
- 学习Python中关于默认参数的理解
- 深入理解Python 关于supper 的 用法和原理
- 关于for循环的理解
- 关于Python中的for循环控制语句
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等) .
- 关于Python多线程的理解
- 关于Python闭包的理解
- 跟老齐学Python之关于循环的小伎俩
- [零基础学python]关于循环的小伎俩
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)
- [转]关于Python中的for循环控制语句
- 关于pthread_cond_wait使用while循环判断的理解
- python 关于循环的不解
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)