for i in range(10):
print(i)
range(10),其实是相当于产⽣了⼀个从0到9的列表,每循环⼀次,就会把列表⾥的下⼀个元素取出来给临时变量i。
print( list(range(10)) ) # 可以验证range(10) 就是产⽣了⼀个列表
goad_age=29
for i in range(3):
guess_age=int(input("请输入你猜的年龄:"))
if guess_age > goad_age:
print("猜的太⼤了,往⼩⾥试试...")
elif guess_age < goad_age:
print("猜的太小了,往大⾥试试...")
else:
exit("猜对了...")
exit("次数用完,挑战失败") # 退出程序
temp=[]
for i in range(50,101):
if i%2 == 1:
temp.append(i)
else:
temp=temp
print(temp)
⼀栋楼有5层,每层8间屋⼦,要求你把本楼所有的房间号打印⼀遍, 格式“1层-104”, “2层-205“
for i in range(1,6):
for j in range(1,9):
print(f"{i}层-{i}0{j}")
像上边循环嵌套⼩节那个打印楼层的⼩程序,需求改了, 遇到第3层时,不打印任何房间号,其它层都打印。这个怎么实现呢?
continue
continue的语法作⽤是, 只要程序⼀遇到continue, 本次循环就不继续了,直接进⼊下⼀次循环
for i in range(1,6):
for j in range(1,9):
if i == 3:
continue # 跳过本次循环,继续下次循环
print(f"{i}层-{i}0{j}室")
break
break的语法作⽤是,只要程序遇到break, 就会结束当前这个循环, 注意如果是多层嵌套循环,只结束当前这⼀层的循环。
第三层不输出,404后不输出
for i in range(1, 6):
for j in range(1, 9):
if i == 3:
print("不⾛3层.......")
continue # 跳过本次循环,继续下次循环
if i == 4 and j == 4: # 遇到404
print("遇到⻤屋404了,不再继续了")
break # 结束当前循环, 注意只会结束第2层这个⼩循环。
print(f"{i}层-{i}0{j}室")
for i in range(1, 6):
for j in range(1, 9):
if i == 3:
print("不⾛3层.......")
continue # 跳过本次循环,继续下次循环
if i == 4 and j == 4: # 遇到404
print(f"{i}层-{i}0X室")
print(f"{i}层-{i}0{j}室")
for i in range(1,10):
if i < 6:
print("*"*i)
else:
print("*"*(10-i))
与for必须指定循环多少次不⼀样的是, while 循环的次数可以是不定的,只要条件满⾜就可以永远循环下去
while 条件: # 只要条件为真, 就会不断的循环
print(xxxxx)
循环10次:
count = 0
while count < 10:
print("第{count}次循环....")
count += 1
允许⽤户猜3次,若还不对,告诉他,你真笨,还想继续猜么? 如果⽤户选择y, 就让他继续,如果选择n, 就退出。
count = 0
black_gf_age = 25
while True:
count += 1
if count <= 3:
guess = int(input("猜猜⿊姑娘多⼤了>>:"))
if guess > black_gf_age:
print("猜的太⼤了,往⼩⾥试试...")
elif guess < black_gf_age:
print("猜的太⼩了,往⼤⾥试试...")
else:
exit("恭喜你,猜对了...") # 退出程序
else:
choice = input("猜了3次还不对,真是笨呀,还玩么? [y/Y or n/N]").strip()
# strip删除字符串左右两侧的空格或特殊字符,特殊字符:制表符(\t)、回车符(\r)、换行符(\n)等
if len(choice) == 0 :
continue # 不能写空值
if choice in ("y","Y"):
count = 0
elif choice in ("n","N"):
exit("bye.")
else:
print("请输⼊正确的选项...")
默认:end=“\n”
# 九九乘法表
for i in range(1, 10):
for j in range(1, i+1): # j=[1,i]
print(f'{j}x{i}={i*j}\t',end='') # 或者使用这个:print(f'{j}x{i}={i*j}',end=' ') end后引号内加一个空格
# \t是相当于四个空格
# end=” "的意思是为末尾end传递一个空字符串,表示这个语句没结束。
print() # 小循环不换行,大循环换行
需求:
random.choice(seq)函数:从非空序列中随机选取一个数据并返回,该序列可以是list、tuple、str、set。
random.sample的用法,多用于截取列表(字符串)的指定长度的随机数,但是不会改变本身的排序;
random.randint(参数1, 参数2),函数返回参数1和参数2之间的任意整数,且1和2必须是整数。
>>> import random # 导⼊random模块
>>>random.choice("abcdefghi") # 参数也可以是⼀个列表
'd'
>>> s = "abcdefghijklmn"
>>> random.sample(s,3) # 从数据源s中随机取出3个值
['b', 'a', 'k']
>>> random.randint(1,100) # 打印⼀个随机数
79
>>> import string # 导⼊string模块
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # ⼤写字⺟
>>> string.ascii_lowercase # ⼩写字⺟
'abcdefghijklmnopqrstuvwxyz'
>>> string.punctuation # 打印特殊字符
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.digits # 打印数字
'0123456789'
代码实现:
import random
import string
upper_case_letters = string.ascii_uppercase # 大写字母A-z
number = string.digits # 0-9
com_num_letter = upper_case_letters+number #A-Z0-9
count = 3
while count>0:
count-=1
num_list = []
for i in range(20):
first_English = random.choice(upper_case_letters) # 大写字母选一个作为第一个区域号
# last_five_digits1 = random.sample(com_num_letter,5) # 形式['','','',]
last_five_digits = "".join(random.sample(com_num_letter,5))
car_num = f"京{first_English}-{last_five_digits}"
num_list.append(car_num)
print(num_list)
choice_num = input("请输入你选择的车牌号“京[A-Z]-[xxxxx]”:").strip()
if choice_num in num_list:
exit(f"恭喜你选对了,你的车牌为{choice_num}")
else:
print(f"未选中,您还有{count}次机会。")
import random
import string
# 抽奖规则
Lottery_rules = f'''
------------- 抽奖规则 --------------
⼀等奖 3名, 泰国5⽇游
⼆等奖6名,Iphone⼿机
三等奖30名,避孕套⼀盒
------------- 开始抽奖 --------------
'''
print(Lottery_rules)
# 生成300个数字代表300名员工
Employee_No = list(range(1, 301))
count = 0
num = [3,6,30]
while count < 3:
count+=1
leveol_prizes = 4-count
num_prizes = num[leveol_prizes-1]
tis = input(f"第{count}轮抽奖:{leveol_prizes}等奖{num_prizes}名")
Winning_list = random.sample(Employee_No,num_prizes)
print(f"中奖名单为:{Winning_list}")
# 去除中奖
for i in Winning_list:
Employee_No.remove(i)
import faker
list=[]
alex = faker.Faker(locale="zh_CN") # en_US
print(alex)
for i in range(1,10):
list.append(alex.name())
print(list)