Python
- 一、如何判断一个字符串是否是另一个字符串的子串
- 二、如何验证一个字符串中的每一个字符均在另一个字符串中出现
- 三、如何判定一个字符串中既有数字又有字母
- 四、做一个注册登录系统
一、如何判断一个字符串是否是另一个字符串的子串
实现代码:
string1 = input("请输入第一个字符串: ")
string2 = input("请输入第二个字符串: ")
if string1 in string2:
print(f"{string1} 是 {string2} 的子串")
else:
print(f"{string1} 不是 {string2} 的子串")
输出结果:
二、如何验证一个字符串中的每一个字符均在另一个字符串中出现
实现代码:
def in_string(string1, string2):
for char in string1:
if char not in string2:
return False
return True
string1 = input("请输入第一个字符串: ")
string2 = input("请输入第二个字符串: ")
result = in_string(string1, string2)
if result:
print("每个字符都在另一个字符串中出现")
else:
print("并不是每个字符都在另一个字符串中出现")
输出结果:
三、如何判定一个字符串中既有数字又有字母
实现代码:
def have_d_and_n(string):
have_d = False
have_n = False
for char in string:
if char.isdigit():
have_d = True
elif char.isalpha():
have_n = True
if have_d and have_n:
return True
else:
return False
string = input("请输入一个字符串: ")
result = have_d_and_n(string)
if result:
print("该字符串既有数字又有字母")
else:
print("该字符串不同时包含数字和字母")
输出结果:
四、做一个注册登录系统
input(“请输入要使用的功能(1-3)”)
- 1.注册 (用户输入 账户名 密码 确认密码 如果前后两次密码一直则保存用户的账户和密码到account.txt中)
- 2.登陆 用户输入 账户名 密码 跟account.txt中的账户密码进行比对,如果相同则登录成功
- 3.退出 使用sys模块中方法
实现代码:
import sys
# 账户密码保存文件
ACCOUNT_FILE = 'account.txt'
# 用户注册
def register():
username = input("请输入账户名: ").strip()
password = input("请输入密码: ").strip()
confirm_password = input("请再次输入密码: ").strip()
if password == confirm_password:
with open(ACCOUNT_FILE, 'a') as file:
file.write(f"{username} {password}\n")
print("注册成功")
else:
print("两次密码输入不一致")
# 用户登陆
def login():
username = input("请输入账户名: ").strip()
password = input("请输入密码: ").strip()
try:
with open(ACCOUNT_FILE, 'r') as file:
for line in file:
stored_username, stored_password = line.split()
if username == stored_username and password == stored_password:
print("登录成功")
return
print("账户名或密码错误")
except FileNotFoundError:
print("账户文件不存在")
# 主页面
while True:
print("1. 注册\n2. 登录\n3. 退出程序")
choice = input("请输入要使用的功能(1-3): ")
if choice == "1":
register()
elif choice == "2":
login()
elif choice == "3":
print("退出程序")
sys.exit()
else:
print("输入无效,请重新输入")
输出结果: