Python学习-20171225-26python
1、流程控制语句-ifexpress
语句格式:编程
if 表达式(expression):函数
代码块学习
在python 中1表明true 0表明flase内存
基本执行格式:字符串
if 判断条件: 执行语句 else: 执行语句input
实例:it
yn=raw_input('please input yes or no: ')io
#字符串转小写
yn=yn.lower()
#判断是否为"yes"或者"y",若是正确输出"running"
if yn == 'yes' or yn=='y':
print ('runing')
#判断是否为"no"或者"n",若是正确输出"error"
elif yn=='no' or yn=='n':
print('error')
#若是出现其它输入,则打印让从新输入语句
else:
print ('please input yes or no ')
2、流程控制语句-for循环
循环是一个结构,致使程序要重复必定的次数。
条件循环也是,当条件为假时,则结束循环。
(1)遍历序列
for循环:用在序列中,用for循环遍历
语法:
for iterating_var in sequence: statements(s)
实例:
a='123' for x in a: print (x)
输出结果:1 2 3
#循环一个列表
list1=[1,2,3] for x in list1: print x
range和xrange函数
range()函数可建立一个整数列表,通常用在for循环中。
xange()和range区别。用法同样,可是xrange不占用内存空间,只有调用的时候才会占用内存。
#生成乘方
print [x**2 for x in range(1,10)]
#列表重写,取余然只要偶数而后乘方
print [x**2 for x in range(1,10) if x % 2==0]
#计算100相加
for i in range(1,101): sum += i print (sum)
(2)遍历字典
生成一个字典并遍历字典中的key
dic1=dic.fromkeys('abcd',10) for k in dic: print (k,dic(k))
把字典转化成列表,并遍历
for k,v in dic.items(): print (k,v)
#生成乘法口诀
for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j)
3、练习题
1. 有一、二、三、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
# for x in xrange(1,5): # for y in xrange(1,5): # for z in xrange(1,5): # if x != y and x != z and y != z: # print ('%s%s%s' % (x,y,z)) # count += 1 # print (count)
2.打印出全部的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数自己。例如:153是一个“水仙花数”,由于153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每一个数分解出个位,十位,百位。
for i in range(100, 1000): x = i/100 #得到百位数 y = (i - x*100)/10 #得到十位数 z = i - i/10 *10 #得到个位数 if i == x**3 + y**3 + z**3: print(i)
3. 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
one=['x','y','z']
for i in one: for j in one: if(j!=i): for x in one: if(x !=i) and (x !=j ): print('a : %s b : %s c : %s' % (i, j, x))