您的位置:首页 > 编程语言 > Python开发

Python循环遍历,while,for语句详细19道练习题!

2018-01-20 15:48 1181 查看
# 1. 输出10行内容,每行的内容都是“*****”。
# num1=0
# while num1 < 10:
# num2 = 0
# while num2 < 5:
# print("*",end="")
# num2 += 1
# num1 += 1
# print()
# for i in range(10):
# for j in range(6):
# print("*",end="")
# print()

# 2. 输出10行内容,每行的内容都不一样,第1行一个星号,第2行2个星号,依此类推第10行10个星号。
# num21 = 0
# while num21 < 10:
# num22 = 0
# while num22 < num21:
# print("*",end="")
# num22+=1
# print()
# num21+=1

# for i in range(10):
# for j in range(10):
# print("*",end="")
# if i == j:
# print()
# break

# 3. 输出9行内容,,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789。
# num31 = 1
# while num31 <= 9:
# num32 = 1
# while num32 < num31:
# print(num32,end="")
# num32+=1
# print()
# num31+=1

# for i in range(1,10):
# for j in range(1,10):
# print(j,end="")
# if i == j:
# print()
# break

# 4. 计算10个99相加后的值并输出。

# num41 = 0
# sum1 = 0
# num42 = 99
# while num41 < 10:
# sum1 = sum1 + num42
# print(sum1)
# num41+=1

# sum2 = 0
# for i in range(10):
# sum2 = sum2 + 99
# print(sum2)

# 5. 计算从1加到100的值并输出。
# num51 = 1
# sum51 = 0
# while num51 <=100:
# sum51 = sum51 +num51
# print(sum51)
# num51+=1

# sum52 = 0
# for i in range(1,101):
# sum52 = sum52+i
# print(sum52)

# 6. 计算10的阶乘(1x2x3x4x5x6x7x8x9x10)
# num61 = 1
# sum_p = 1
# while num61 <=10:
# sum_p = sum_p*num61
# print(sum_p)
# num61+=1

# sum_p = 1
# for i in range(1,11):
# sum_p = sum_p*i
# print(sum_p)

# 7. 计算2的20次方。不允许用**和pow()
# num71 = 0
# sum_p1 = 1
# while num71 < 20:
# sum_p1 = sum_p1*2
# print(sum_p1)
# num71+=1
# print(2**20)

# sum_p1 = 1
# for i in range(20):
# sum_p1 = sum_p1*2
# print(sum_p1)

# 8. 计算从1到1000以内所有奇数的和并输出。
# num81 = 1
# sum81 = 0
# while num81 < 1000:
# sum81 = sum81 + num81
# print(sum81)
# num81+=2

# sum81 = 0
# for i in range(1,1000,2):
# sum81 = sum81+i
# print(sum81)

# 9. 计算从1到1000以内所有能被3或者17整除的数的和并输出
# num91 = 1
# sum91 = 0
# while num91 < 1000:
# if num91 % 3 ==0 or num91 % 17 == 0 :
# sum91 = sum91 + num91
# print(sum91)
# num91+=1

# sum91 = 0
# for i in range(1,1000):
# if i % 3 ==0 or i % 17 == 0 :
# sum91 = sum91 + i
# print(sum91)

# 10. 计算从1到1000以内所有能同时被3,5和7整除的数的和并输出

# num10 = 1
# sum10 = 0
# while num10 < 1000:
# if num10%3==0 and num10%5==0 and num10%7==0:
# sum10 = sum10+num10
# print(sum10)
# num10+=1

# sum10 = 0
# for i in range(1,1000):
# if i%3==0 and i%5==0 and i%7==0:
# sum10 = sum10+i
# print(sum10)

# 11. 计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数。
# num111 = 1
# num_i = 0
# while num111<100:
# if(num111%3==0 or num111%7==0) and not(num111%3==0 and num111%7==0):
# num_i+=1
# print(num111,num_i)
# num111+=1

# num_i = 0
# for i in range(1,100):
# if(i%3==0 or i%7==0) and not(i%3==0 and i%7==0):
# num_i+=1
# print(i,num_i)

# 12. 计算1到100以内能被7整除但不是偶数的数的个数。
# num121 = 1
# numi_12 = 0
# while num121<100:
# if num121%7==0 and not num121%2==0:
# numi_12+=1
# print(numi_12,num121)
# num121+=1

# numi_12 = 0
# for i in range(1,100):
# if i % 7 == 0 and not i % 2 == 0:
# numi_12+=1
# print(numi_12,i)

# 13. 计算从1到100临近两个整数的合并依次输出。比如第一次输出3(1+2),第二次输出5(2+3),最后一次输出199(99+100)。
# num131=1
# num132=2
# while num131<100:
# print("%d+%d=%d"%(num131,num132,num131+num132))
# num131+=1
# num132+=1

# j=2
# for i in range(1,100):
# print("%d+%d=%d"%(i,j,i+j))
# j+=1

# 14. 给定一个整数n,判断是否是质数(质数是只能被1和它自身整除的数)
# num_z=int(input("请输入一个整数:"))
# num_1 = 2
# if num_z > 2:
# while num_1 <= (num_z/2):
# if num_z%num_1==0:
# print("不是质数")
# break
# num_1 += 1
# else:
# print("是质数")
# elif num_z == 2:
# print("是质数")
# else:
# print("不是质数")

# num_z = int(input("请输入一个整数:"))
# if num_z == 2:
# print("是质数")
# if num_z>2:
# for i in range(2,num_z):
# if num_z%i == 0:
# print("不是质数")
# break
# else:
# print("是质数")

# 15. 给定一个不大于9的数n,打印nn乘法表
# num_user = int(input("请输入10以内的整数:"))
# num_151 = 1
# if num_user <= 0 or num_user >=10:
# print("请按要求输入整数!")
# else:
# while num_151 <= num_user:
# num_152 = 1
# while num_152<num_151:
# print("%d*%d=%d\t"%(num_152,num_151,num_151*num_152),end="")
# num_152+=1
# print()
# num_151+=1

# for i in range(1,num_user+1):
# for j in range(1,num_user+1):
# print("%d*%d=%d\t"%(j,i,i*j),end="")
# if i == j:
# print()
# break

# 16. 五位数中,对称的数称为回文数,打印所有的回文数并计算个数。如:12321
# num21=10000
# while num21<=99999:
# sum1 = num21 // 10000
# sum2 = (num21 % 10000) // 1000
# sum3 = (num21 % 1000) // 100
# sum4 = (num21 % 100) // 10
# sum5 = num21 % 10
# if sum1 == sum5 and sum2 == sum4:
# print(num21)
# num21 += 1

# for i in range(10000,100000):
# sum1 = i // 10000
# sum2 = (i % 10000) // 1000
# sum3 = (i % 1000) // 100
# sum4 = (i % 100) // 10
# sum5 = i % 10
# if sum1 == sum5 and sum2 == sum4:
# print(i)
#
# 17. 给定一个n位(不超过10)的整数,将该数按位逆置,例如给定12345变成54321,12320变成2321.

# num171 = input("请输入一个数:")
# for i in range(1000000000):
# i = num171[::-1]
# print(i)
# break

# 18. 输出所有的三位水仙花数,其各位数字立方和等于该数本身。
# num2 = 101
# sum2 = 0
# while num2 < 1000:
# sum2 = (num2//100)**3 + ((num2%100)//10)**3 + (num2%10)**3
#
# if sum2 == num2:
# print(sum2)
# num2 += 1

# sum2 = 0
# for i in range(100,1000):
# sum2 = (i // 100) ** 3 + ((i % 100) // 10) ** 3 + (i % 10) ** 3
# if sum2 == i:
# print(i)

# 19. 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米?
# num_u = int(input("输入次数:"))
# num191 = 100
# sum191 = -100
# num192 = 0
# while num192>=0:
# sum191 = sum191+num191*2
# num191 = num191 / 2
# num192 += 1
# if num192 == num_u:
# print(num192,sum191)
# break

# for i in range(1,num_u+1):
# sum191 = sum191+num191*2
# num191 = num191 / 2
# if num_u == i :
# print(i,sum191)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息