Python学习-20171227

一、循环退出

contin语句:跳出此次循环,继续下一次循环。

brek语句:退出循环。

pass:展位符

exit:退出程序

示例:

for i in xrange(1,10):
    #如果i等于3就跳出此次循环,执行下一个
    if i == 3:
        continue
    #如果i等于5就结束循环
    elif i==5:
        break
    #如果i等于7就退出整个程序
    elif i==7:
        exit()
    print (i)
else:
    print ('main end')

执行结果:

1,2,4

练习题:

猜数字游戏,玩家有六次机会猜数字。每次都有反馈,如果超过六次则失败

import random

random_number=random.randint(1,20)
#定义次数
count=0
for i in xrange(1,7):
    print (count)
    in_number = int(raw_input('请输入你猜的数字:'))
    print (in_number, random_number)
    if count==6:
        print ("已超过次数")
    elif in_number==random_number:
        print ("恭喜你,猜中了")
        break
    elif in_number > random_number:
        print ("猜的太大了")
        continue
    elif in_number < random_number:
        print ("猜的太小了")
        continue
    count+1

 

 

二、while循环

while循环用在有条件的循环

基本格式:

while 判断条件: 执行语句……

brek等在for循环中使用的退出语句在while中同样适用

示例:

x=''
while x !='q':
    print ('hello')
    x = raw_input('please input q for quit:')
    if not x :
         break
else:
    print ('world')

三、练习题

    

    1、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    程序分析:对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:

    (1)如果分解后商为1,则说明分解质因数的过程已经结束,打印出即可。

    (2)如果商不为1,则应打印出i的值,并用n除以i的商,作为新的正整数进行分解,

 重复执行第一步。

    (3)如果n不能被i整除,则i的值加1,重复执行第一步。

number = int(raw_input("Enter a number: "))

while number != 1:

    for i in range(1, number + 1):
        if (number % i) == 0 and i != 1:
            number = number / i
            if number == 1:
                print " %s" % i
            else:
                print " %d*" % i,
            break

2、 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析:采取逆向思维的方法,从后往前推断。

x = 1
for i in range(9):
    x = (x+1) * 2
    print('第%s天还有%s个桃子' % (i, x))
print('第1天共摘了%s个桃子' % x)

 

转载于:https://my.oschina.net/u/3755326/blog/1595772

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值