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

循环语句

while循环,只要条件满足,就不断循环

while 条件表达式:

条件表达式为真时执行代码

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

a = raw_input('请输入一个数字:')

ifa.isdigit():

b = Falseprintb

#输出10个数字,超过10个数字就跳出循环

a =0whilea<10:

b = raw_input('请输入一个数字')

printb

a+=1for 循环

第一种:for in 序列。(字符串、数组都是序列)list、tuple

不足:如果循环的序列项很多(不方便每项都列出)

例子:取出a中的每一项给i

a = [1,2,3,4,5,6]

fori ina:

printi,注意:作用域是在for里面第二种:利用range()和xrange() 迭代

range()函数,可以生成一个整数序列

range(start,end,step),step为空默认为1

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

a = [1,2,3,4,5,6]

fori inrange(0,len(a)):

printa[i]通过序列的索引来遍历序列

for index in range(len(list)):

print key,list[index]

第三种,同时使用项和索引迭代

enumerate()函数--同时列出数据和数据下标

a = [1,2,3,4,5,6]fori,j inenumerate(a):

printi,j

第四种,循环中使用else语句,其他语言中,只在分支语句中才能见到else,

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

例子:fori inrange(1,10):

ifi>11:

breakelse:

print'finish'

结果是:finish,for循环中的数据都执行成功了python循环语句中使用else,代表在循环正常结束后,执行else中的代码块

循环没有执行完,比如break或者return,else中的代码块不执行,用的还比较多

练习题1:

#输入n,计算1到n的阶乘,5,1*2*3*4*5,不考虑负数的和其他情况,只考虑正数n = input('请输入一个数字')

c =1ifn>1:

form inrange(1,n+1):

c = c*m

printc

else:

print'1的阶乘是1'

练习题2:

#分别使用while与for循环输出1-100之间的所有偶数fori inrange(1,101):

ifi %2==0:

printii = 1whilei <=100:

ifi%2==0:

printi

i+=1

用两行代码输出1到100的所有偶数,阿里校招的题目,主要考range后面带参数的情况,2为步长

fori inrange(2,101,2):

printi

练习题3:找100以内最大平方数提示:from math import sqrt sqrt(n)frommath importsqrt

fori inrange(99,0,-1):

root = sqrt(i)

ifroot==int(root):

print'最大平方数是%s'%i

break

练习题4:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数,面试概率极高的题目

string = raw_input('输入一行字符')

zimu = 0space =0num =0other =0fori instring:

ifi.isalpha():

zimu+=1elifi.isspace():

space+=1elifi.isdigit():

num+=1else:

other+=1print'其中英文字母的个数是%d个、空格%d个、数字%d个和其它字符%d个'%(zimu,space,num,other)

你可能感兴趣的:(python循环语句选择题)