共计 3455 个字符,预计需要花费 9 分钟才能阅读完成。
一、中奖的概率
判断一个数需要随机多少次才能中奖,打印随机次数
import random | |
num = 432 | |
# for i in range(100,500): | |
i = 0 | |
while True: | |
Winning = random.randrange(100,500) # 产生一个区间范围的随机数 | |
i+=1 | |
if num == Winning: | |
print("中奖了 中奖号码是 {}".format(num)) | |
break | |
print(i) |
二、求一个范围的 偶数 基数
# 求偶数 | |
for i in range(1,101): | |
if(i%2==0): | |
print(i) | |
# 等同于 | |
for i in range(1,101): | |
if i%2==1: | |
continue | |
print(i) | |
# 求基数 | |
for i in range(1,101): | |
if(i%2!=0): | |
print(i) |
三、淘汰某一行
打印 0 - 9 数字 [5 除外],共打印 8 次:
- 淘汰外循环的第五次输出
- 内循环输出 0 1 2 3 4 6 7 8 9
for i in range(8): | |
if i == 5:# 淘汰某一行 | |
continue | |
for j in range(10): | |
if j==5: # 淘汰某一列 | |
continue | |
print(j, end=" ") | |
print(' ') |
四、判断俩个数的大小
判断俩个数的大小,如果 x >y 将俩个变量交换
x = 3 | |
y = 1 | |
if(x>y): | |
z = x | |
x = y | |
y = z | |
print(x,y) |
不使用临时变量
我们也可以不创建临时变量,用一个非常优雅的方式来交换变量:
x,y = y,x
五、猜数字
num2 = 10.1 | |
while True: | |
try: | |
num = eval(input("请输入你要猜的数字")) | |
if num == num2: | |
print("您猜的真准") | |
break | |
elif num>num2: | |
print("您输入的数字太大了") | |
else: | |
print("您输入的数字太小了") | |
except: | |
print("请输入正确的数字") |
六、三角形
(1)、for 实现左侧正三角形
# 左侧正三角形 | |
for j in range(1,10): | |
for i in range(1,j+1): | |
print(i,end='') | |
print('') |
(2)、for 实现右侧正三角形
# 右侧正三角形 | |
for j in range(1,10): | |
for x in range(1,10-j): | |
print('',end='') | |
for i in range(1,j+1): | |
print(i,end='') | |
print('') |
(3)、for 实现左侧倒三角形
# 左侧倒三角形 | |
mylist = list(range(1,10)) | |
mylist.reverse() | |
for j in mylist: | |
for i in range(1,j+1): | |
print(i,end='') | |
print('') |
(4)、for 实现右侧倒三角形
# 右侧倒三角形 | |
mylist = list(range(1,10)) | |
mylist.reverse() | |
print(mylist) | |
for j in mylist: | |
for x in range(1,10-j): # 输出空格 | |
print('',end='') | |
newlist = list(range(1,j+1)) | |
newlist.reverse() | |
for i in newlist: | |
print(i,end='') | |
print('') |
(5)、while 实现左侧正三角形
#while 三角形 左正三角形 | |
j = 1 | |
while j<=9: | |
i = 1 | |
while i<=j: | |
print(i,end='') | |
i+=1 | |
j+=1 | |
print('') |
(6)、while 实现右侧正三角形
# 右侧正三角形 | |
j = 1 | |
while j<=9: | |
k = 1 | |
while k<=9-j: | |
print('',end='') | |
k+=1 | |
i = j | |
while i>=1: | |
print(i,end='') | |
i-=1 | |
j+=1 | |
print('') |
(7)、while 实现左侧倒三角形
# 左侧倒三角形 | |
j = 9 | |
while j>=1: | |
i = 1 | |
while i<=j: | |
print(i,end='') | |
i+=1 | |
j-=1 | |
print('') |
(8)、while 实现右侧倒三角形
# 右侧倒三角形 | |
j = 9 | |
while j>=1: | |
k = 1 | |
while k<=9-j: | |
print('',end='') | |
k+=1 | |
i = j | |
while i>=1: | |
print(i,end='') | |
i-=1 | |
j-=1 | |
print('') |
七、猜 21 点游戏
import random,time | |
user1 = input('请输入玩家 1 的名称') | |
user2 = input('请输入玩家 2 的名称') | |
# 存储赢的次数的字典 | |
user_info = {user1:{'win':0},user2:{'win':0}} | |
while True: | |
computer1_num = random.randint(1, 10) | |
computer2_num = random.randint(1, 10) | |
# 获取俩个用户想要输入的数字 | |
user1_num = input('{}: 请输入一个数字 ( 按 q 退出游戏)'.format(user1)) | |
user2_num = input('{}: 请输入一个数字 ( 按 q 退出游戏)'.format(user2)) | |
# 如果有人输入了 q 则代表结束 | |
if user1_num == 'q' or user2_num == 'q': | |
print('欢迎下次在玩') | |
break | |
user1_sum = int(computer1_num) + int(computer2_num) + int(user1_num) | |
user2_sum = int(computer1_num) + int(computer2_num) + int(user2_num) | |
print('底牌数字为:',computer1_num,computer2_num) | |
if abs(user1_sum-21) > abs(user2_sum-21): | |
print('{}: 点数为:{} {}: 点数为:{} 结果:{} 获胜'.format(user1,user1_sum,user2,user2_sum,user2)) | |
user_info[user2]['win'] += 1 | |
else: | |
print('{}: 点数为:{} {}: 点数为:{} 结果:{} 获胜'.format(user1, user1_sum, user2, user2_sum, user1)) | |
user_info[user1]['win'] += 1 | |
print('计算机正在重新洗牌') | |
time.sleep(2) |
八、登录
用户登陆验证系统
dbUserName = 'admin' | |
dbUserPass = '123456' | |
while True: | |
loginName = input('请输入用户名') # 动态获取用户名 | |
loginPass = input('请输入密码') # 动态获取用户输入的密码 | |
state = 1 # 给一个用户名的状态值 默认为 1 | |
if loginName != dbUserName: # 判断用户名是否不存在 | |
print("该用户名不存在") | |
state = 2 | |
if state == 1: # 判断用户名的状态值 如果为 1 证明 用户名正确 所以该判断下面的密码了 | |
if dbUserPass == loginPass: # 判断密码是否正确 | |
print('欢迎',loginName) | |
break | |
else: | |
print("请输入正确的密码") | |
# 作业:加上验证码 验证码的要求 随机数 (不能每次都是一样的) | |
dbUserName = 'admin' | |
dbUserPass = '123456' | |
while True: | |
loginName = input('请输入用户名') # 动态获取用户名 | |
loginPass = input('请输入密码') # 动态获取用户输入的密码 | |
if loginName == dbUserName: # 判断用户名是否和之前已经注册过的用户名相同 (有人就是该用户是否存在) | |
if loginPass == dbUserPass:# 如果用户名正确 判断密码是否正确 | |
print("欢迎",loginName) | |
break #r 如果密码正确跳出循环体 | |
else: | |
print("请输入正确的密码") | |
else: | |
print("该用户不存在!请输入正确的用户名") | |
print("我是登录成功以后的内容") |
九、阶乘
通过用户输入数字计算阶乘
# 通过用户输入数字计算阶乘 | |
# 获取用户输入的数字 | |
num = int(input("请输入一个数字:")) | |
factorial = 1 | |
# 查看数字是负数,0 或 正数 | |
if num < 0: | |
print("抱歉,负数没有阶乘") | |
elif num == 0: | |
print("0 的阶乘为 1") | |
else: | |
for i in range(1,num + 1): | |
factorial = factorial*i =1*1*2*3*4 | |
print("%d 的阶乘为 %d" %(num,factorial)) |
正文完
星哥玩云-微信公众号
