# 格式化输出常用方式
length,weight = 159,50
print("length:%d cm,weight:%f kg"%(length,weight))
import math
print("{0:>+10.2f}".format(math.pi))# +3.14
print(f"pi is {math.pi:>+10.2f}")# pi is +3.14

#随机数猜大小
import random
key = random.randint(1,100)# 随机数
i = 3
while i>0:
num = int(input("请输入一个整数(1-100)"))
if num <= 1 or num >= 100:
print("请重新输入")
elif num == key:
print("猜对了")
break
elif num > key:
print("大了")
i -= 1
elif num < key:
print("小了")
i -= 1
print("游戏结束!")
# 后移5位ASCII码加密
方法一 列替换表
intab = "'a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z'\
'A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z'"
outtab = "'f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z''A''B''C''D''E'\
'F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z''a''b''c''d''e'"
String = input("请输入需加密的密码")
trantab = String.maketrans(intab,outtab)
print("加密后:",String.translate(trantab))
方法二 循环判断
text = str(input("请输入字符串"))
print("加密后:")
for i in text:
if ord(i)>=65 and ord(i)<=85:
print(chr(ord(i)+5),end='')
elif ord(i)>85 and ord(i)<=90:
print(chr(ord(i)-21),end='')
elif ord(i)>=97 and ord(i)<=117:
print(chr(ord(i)+5),end='')
elif ord(i)>117 and ord(i)<=122:
print(chr(ord(i)-21),end='')
else:
print(i,end='')
# 校验密码格式
password = input('请输入一串密码,位数:6-20,须包含大小写字母、标点(不含空格)和数字:')
import string
flag = 1# 输入不规范时,再次循环
while flag:
if len(password)<6 or len(password)>20:# 测试长度
password = input("请输入一串密码,位数:6-20:")
elif set(password).isdisjoint(set(string.ascii_lowercase)) or set(password).isdisjoint\
(set(string.ascii_uppercase)) or set(password).isdisjoint(set(string.digits))\
or set(password).isdisjoint(set(string.punctuation)) or password.find(' ')!=-1:
# 测试是否有包含大小写字母、标点、空格和数字
password = input("请输入一串密码,须包含大小写字母、标点(不含空格)和数字:")
else:
print("输入成功!")
flag = 0# 中止循环

# 数字规范方法
print(round(3.5))# 4 四舍六入奇数进原则
print(round(-3.5))# -4
import math
print(math.ceil(3.5))# 4 返回数字的上入整数
print(math.ceil(-3.5))# -3
print(math.floor(3.5))# 3 向下取整
print(math.floor(-3.5))# -4
# 使用for循环时需考虑列表等更新情况
ls = [1,2,3,4,5,6,7]
for i in ls:
print(i)# 1 3 5 7
ls.remove(i)
# 2位数加减乘除
import random
from decimal import *
score = 0
for i in range(10):
a = random.randint(11,99)
b = random.randint(10,a)
opt = random.choice("+-*/")
print("请计算:",a,opt,b,"=")
key = str(input("请输入答案"))
if opt == "+":
flag = (eval(key) == a + b)
elif opt == "-":
flag = (eval(key) == a - b)
elif opt == "*":
flag = (eval(key) == a * b)
elif opt == "/":
c = Decimal(a) / Decimal(b)
c = c.quantize(Decimal("0.00"),ROUND_HALF_UP)
key = Decimal(key)
key = key.quantize(Decimal("0.00"),ROUND_HALF_UP)
flag = (key == c)
if flag == True:
print("You are right!")
score = score + 1
else:
print("You are wrong!")
print("score:",score*10)

本文介绍了Python中格式化输出的方法,包括字符串格式化和浮点数的控制精度。接着,展示了如何通过随机数游戏实现简单的加密,并讲解了密码格式校验的规则。还涵盖了数字规约和基本的算术运算,以及列表操作和基础的2位数计算练习。
282

被折叠的 条评论
为什么被折叠?



