1. for 循环
1.1 语法
for i in range (10):
print(i)
for i in range (5,18):
print(i)
list
使数据编程列表
>>> range(10)
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for循环打印猜年龄
girl_age = 26
for i in range (3):
guess = int(input("猜年龄:"))
if guess > girl_age: # 猜大了
print("你讨厌,人家哪有那么老啊....")
elif guess < girl_age: # 猜小了
print("哇,我有这么年轻吗")
else:
exit ("哇,猜对了") #exit 退出程序并打印
1.1.1 random
>>> import random
>>> print(random.randint(0,10))
1
>>> print(random.randint(0,10))
6
1.2 break & continue
break语法作用
只要程序遇到break,就会结束当前这个循环,注意如果是多层嵌套循环,只结束当前这一层的循环。
continue语法作用
只要程序一遇到continue,本次循环就不继续了,直接进入下一次循环
例子: 打印房间号
打印房间号
for i in range (1,6):
print(f"------------{i}层----------------")
if i == 3:
print("-")
continue
for j in range (1,10):
if i == 4 and j == 4:
print("遇到鬼屋....")
break
print(f"L-{i}0{j}室")
1.3 for 循环打印三角形
for i in range(1,11):
if i <=5:
print("*"*i)
if i > 5:
print((10-i)*"*")
2. while 循环
while循环的次数可以是不定的,只要条件满足就可以永远循环下去
语法:
while 条件: #只要条件为真,就会不断循环
print(*****)
else: #当循环正常结束时执行,被break中止时,不执行
print("dd")
死循环
count = 0
while True:
count += 1
print(f"这是第{count}次循环...")
循环10次
count = 0
while count <= 10:
count += 1
print(f"这是第{count}次循环...")
while 循环打印年龄
girl_age = 26
count = 0
while count < 3:
count += 1
guess = int(input("猜年龄:"))
if guess > girl_age: #猜大了
print("你讨厌,人家哪有那么老啊....")
elif guess < girl_age: #猜小了
print("哇,我有这么年轻吗")
else:
exit("哇,猜对了")
print 下的end循环自动换行
例子:打印乘法表
for i in range (1,10):
#print(f"{i}x{1}={i*1}")
for j in range(1,i+1):
print(f"{i}x{j}={i*j}",end=" ")
print()
3. 模块
3.1 random模块
可以产生指定范围内的随机数,字符串等
>>> import random #导入random模块
>>> random.choice("abcdefghijk") #参数可以是一个列表
'i'
>>> a=["wanchaopeng","linxiaodong","lichaoyang","yangyongkang"]
>>> random.choice(a)
'yangyongkang'
>>> s="abcdefjhigklmnopq"
>>> random.sample(s,3) #从数据源中随机取出3个值
['a', 'p', 'o']
>>> random.randint(1,100) #打印一个随机数
21
3.2 join
>>> a
['wanchaopeng', 'linxiaodong', 'lichaoyang', 'yangyongkang', 'a']
>>> "".join(random.sample(a,2))
'yangyongkanglinxiaodong'
3.3 string模块
>>> string.ascii_letters #打印字母
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.
>>> string.ascii_uppercase #打印大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase #打印小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.punctuation #打印特殊字符
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.digits #打印数字
'0123456789'