python循环语句以及一些日常的练习题目

循环语句
while循环,只要条件满足,就不断循环
while 条件表达式:
条件表达式为真时执行代码

#判断如果输入的数字是纯数字,就不输入了

b =True
while b:
    a = raw_input('请输入一个数字:')
    if a.isdigit():
        b = False
    print b
#输出10个数字,超过10个数字就跳出循环

a =0
while a<10:
    b = raw_input('请输入一个数字')
    print b
    a+=1
for 循环
第一种:for in 序列。(字符串、数组都是序列)list、tuple
不足:如果循环的序列项很多(不方便每项都列出)
例子:取出a中的每一项给i

a = [1,2,3,4,5,6]
for i in a:
    print i,
注意:作用域是在for里面第二种:利用range()和xrange() 迭代
range()函数,可以生成一个整数序列
range(start,end,step),step为空默认为1

#通过索引取数值,通过下标取数值

a = [1,2,3,4,5,6]
for i in range(0,len(a)):
    print a[i]
通过序列的索引来遍历序列
for index in range(len(list)):
    print key,list[index]
第三种,同时使用项和索引迭代    
enumerate()函数--同时列出数据和数据下标

a = [1,2,3,4,5,6]
for i,j in enumerate(a):
    print i,j
第四种,循环中使用else语句,其他语言中,只在分支语句中才能见到else,

#判断如果for循环中成功的每一个都执行完毕了,就会执行else语句

例子:

for i in range(1,10):
    if i>11:
        break
else:
    print 'finish'
结果是:finish,for循环中的数据都执行成功了

python循环语句中使用else,代表在循环正常结束后,执行else中的代码块
循环没有执行完,比如break或者return,else中的代码块不执行,用的还比较多

练习题1:


#输入n,计算1到n的阶乘,5,1*2*3*4*5,不考虑负数的和其他情况,只考虑正数
n = input('请输入一个数字')
c =1
if n>1:
    for m in range(1,n+1):
        c = c*m
    print c
else:
    print '1的阶乘是1'
练习题2:


#分别使用while与for循环输出1-100之间的所有偶数
for i in range(1,101):
    if i %2 ==0:
        print i
i = 1
while i <=100:
    if i%2==0:
        print i
    i+=1
用两行代码输出1到100的所有偶数,阿里校招的题目,主要考range后面带参数的情况,2为步长


for i in range(2,101,2):
    print i
练习题3:找100以内最大平方数提示:from math import sqrt sqrt(n)

from math import sqrt
for i in range(99,0,-1):
    root = sqrt(i)
    if root==int(root):
        print '最大平方数是%s'%i
        break
练习题4:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数,面试概率极高的题目

string = raw_input('输入一行字符')
zimu = 0
space =0
num =0
other =0
for i in string:
    if i.isalpha():
        zimu+=1
    elif i.isspace():
        space+=1
    elif i.isdigit():
        num+=1
    else:
        other+=1
print '其中英文字母的个数是%d个、空格%d个、数字%d个和其它字符%d个'%(zimu,space,num,other)


版权声明:本文为博主原创文章,转载请附上博文链接!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值