for循环和range函数
1.for循环:
for i(变量)in text(列表或者一个字符串…):
print(变量)
eg:
text = '沉默是今晚的康桥'
for i in text:
print(i)
沉
默
是
今
晚
的
康
桥
练习题:
text = ‘I 欲want to买 buy桂花 osmanthus同载酒 with wine,终不似 eventually not like,少年游 Youth Tour’
取出其中的汉字
细节:利用tab键合理安排
#取出其中的汉字
text = 'I 欲want to买 buy桂花 osmanthus同载酒 with wine,终不似 eventually not like,少年游 Youth Tour'
l1 = '' #将取出来的字符串赋值给新的空列表
for i in text:
if (i.islower() or i ==' ' or i.isupper()) == False: #如果循环出来的i不是小写的不是大写的不是空白
l1 += i #l1+=i意思为l1=l1+i 赋值给l1
print(l1)
2.range函数
range(终止值)默认从0开始,步长为1
range(开始值,终止值) 默认步长为1
range(开始值,终止值,步长)
eg:
print(list(range(10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(0,10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(0,10,2)))
[0, 2, 4, 6, 8]
将range函数运用到for循环语句中
for i in range(10):
print(i)
0
1
2
3
4
练习题:
#1-100的累加值
n=0
for i in range(1,101):
n += i #n=n+i
print(n) #如果此处将print卸载for循环的下一级中则会出现一直循环 不是输出最终的值
1
3
6
.
.
.
4851
4950
5050
print(n) #与for同级则正常输出最终结果 正常输出
5050
将range函数和for循环的数据结合在一起
练习题1:
#找出所有的水仙花数(水仙花数是个三位数,是指三个位置上的数字的立方相加等于该数字,例如:153,13+53+3**3=153。求出所有的水仙花数)
for i in range(100,1000):
a = i // 100
b = i //10 % 10
c = i % 10
if (a**3+b**3+c**3 == i): #当做判断时一定要使用双==,使用单=会报错
print(i) #因为是在if判断下是实现的print 所以必须是if的下一级 否则会报错
153
370
371
407
练习题2:
将1-10中的数字的立方用for循环打印出来。
list = [ ]
for i in range(1,11):
list.append(i**3) #append是一个list的常用方法 往list中添加元素
print(list)
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]