搜索
您的当前位置:首页正文

python循环练习题

来源:意榕旅游网


python循环练习题

猜数字游戏

计算机出一个1~100之间的随机数由人来猜

计算机根据人猜的数字分别给出提示大一点/小一点/猜对了,并继续输入

关于这一题,因为不知道循环的次数和迭代对象,所以选择while循环

1、首先用random.randint定义一个随机数

2、第一次写的时候把输入的答案放在循环外面,后来想了一下,如果要根据提示再继续输入的话就必须把要每次输入的数字放入循环中,否则无法循环输入

3、break在循环里面的作用很重要,注意思考该把他放在哪儿。

import random

a = random.randint(1,100)

count = 0

while True:

b = int(input(\"请输入您的答案:\"))

count += 1

if a print(\"小一点\")

elif a>b:

print(\"大一点\")

else:

print(\"猜对了,您一共猜了%d次\"% count)

break

九九乘法表

for i in range(1,10):

for j in range(1,10):

print('%d × %d = %d'%(i,j,i*j))

寻找水仙花数

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

for i in range(100,1000):

if (i//100)**3 + (i%100//10)**3 +(i%10)**3 ==i:

print('%d是水仙花数'%i)

寻找完美数

果一个数恰好等于它的因子之和,则称该数为“完全数” [1] 。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number)。

例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6

for i in range(1,10000):

a = []

b = 0

for j in range(1,i):

if i%j == 0:

a.append(j)

for m in a:

b += m

if b == i:

print(\"%d是完美数\"%i)

此题循环的嵌套还是比较细致的。

1、首先求约数的循环要嵌套在外层循环中,这是求各种数时候常用的套路。

2、因为它的约数非常多,所以我的想法是先把约数全存在一个表中,再利用一个遍历循环加起来,可以得到约数之和,然后在判断约数之和和数是否相等

3、本来把a ,b定义在最外侧,后来发现这样的不出来正确答案。后来在别人的帮助下才发现,a和b在第二次循环的时候把第一次循环的值保存了下来,导致结果错误。

百钱买百鸡

print('公鸡\母鸡\鸡仔')

for x in range(0,20):

for y in range(0,33):

if 3x+5y+(100-x-y)/3=100:

print(x,\"\\

在这题里面了解到了制表符的妙用

1、公鸡5钱1个,母鸡3钱1个,总共100钱,那么公鸡最多买20,母鸡最多买33,实际上买不到,只是给它限制住循环的条件

2、鸡仔1钱3个,且鸡仔可以通过x和y表示,把方程和约束条件写出来,让程序给出排列,此题非常有参考意义。

3、制表符可以保证有着上下打印的东西在一般情况保持对齐,打印的时候,如果是变量就不能像字符串一样用+来拼接。****

Python案例:用米粒填充国际象棋盘

有个很古老的传说,那时候象棋刚刚发明出来,阿拉伯的一个国王一下就迷上了,觉得应该重奖发明这个游戏的人,结果发明者来了,他让人家提要求,人家说棋盘上第一个格放1粒麦子,第二个格2粒,第三格4粒,第四格8粒,这样类推下去,最后一个格也

放满,最后把这些麦粒奖给他,国王欣然同意,觉得这个人很厚道,不漫天要价,结果按照这个规律装麦粒的时候才发现,原来全国粮仓里的麦子也不够用。这就是典型的数量级上的错误。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top