Python基础2

 

用户登陆程序需求:

1. 输入用户名和密码;

2. 判断用户名和密码是否正确?

name='root' passwd='westos' 3. 为了防止暴力破解, 登陆仅有三次机会, 如果

超过三次机会, 报错提示;

# 设置用户名和密码

correct_username = 'root'

correct_password = 'westos'

# 初始化登录尝试次数

login_attempts = 0

# 循环进行登录尝试

while login_attempts < 3:

# 用户输入用户名和密码

username = input("请输入用户名: ")

password = input("请输入密码: ")

# 检查用户名和密码是否正确

if username == correct_username and password == correct_password:

print("登录成功!欢迎进入系统。")

break

else:

print("用户名或密码错误,请重试。")

login_attempts += 1

# 检查是否超过登录尝试次数

if login_attempts == 3:

print("登录尝试次数超过限制。请稍后再试。")

 

base64编解码小脚本

import base64

def base64_encode(text):

# 将文本编码为 Base64 字符串

encoded_bytes = base64.b64encode(text.encode('utf-8'))

encoded_str = encoded_bytes.decode('utf-8')

return encoded_str

def base64_decode(encoded_str):

# 将 Base64 字符串解码为原始文本

decoded_bytes = base64.b64decode(encoded_str.encode('utf-8'))

decoded_text = decoded_bytes.decode('utf-8')

return decoded_text

if __name__ == "__main__":

while True:

print("请选择操作:")

print("1. 编码为Base64")

print("2. 解码Base64")

print("3. 退出")

choice = input("请输入操作编号: ")

if choice == "1":

text_to_encode = input("请输入要编码的文本: ")

encoded_result = base64_encode(text_to_encode)

print("Base64 编码结果: ", encoded_result)

elif choice == "2":

encoded_text = input("请输入要解码的Base64字符串: ")

decoded_result = base64_decode(encoded_text)

print("Base64 解码结果: ", decoded_result)

elif choice == "3":

print("退出程序")

break

else:

print("无效的操作,请重新输入。")

 

写以下的一个程序:猜数字(1-100),5次机会

 

import random

# 生成一个1到100之间的随机数字

target_number = random.randint(1, 100)

# 初始化剩余机会次数

attempts = 5

print("欢迎参加猜数字游戏!我已经选好了一个1到100之间的数字。")

# 开始游戏循环

while attempts > 0:

# 获取玩家猜测的数字

guess = input("请输入你猜的数字(1-100之间):")

 

# 检查输入是否为有效数字

if not guess.isdigit():

print("请输入有效的数字!")

continue

 

guess = int(guess)

 

# 检查玩家猜测是否正确

if guess == target_number:

print("恭喜你,猜对了!你赢了游戏。")

break

elif guess < target_number:

print("太小了,再试试。")

else:

print("太大了,再试试。")

 

# 减少剩余机会次数

attempts -= 1

print(f"剩余机会次数: {attempts}")

# 游戏结束

if attempts == 0:

print(f"很抱歉,你用完了所有机会。正确答案是{target_number}。游戏结束。")

 

求两个数的最大公约数和最小公倍数

 

import math

# 输入两个整数

num1 = int(input("输入第一个整数:"))

num2 = int(input("输入第二个整数:"))

# 使用math模块的gcd函数来计算最大公约数

gcd_result = math.gcd(num1, num2)

# 最小公倍数可以通过公式 lcm(a, b) = |a * b| / gcd(a, b) 来计算

lcm_result = abs(num1 * num2) // gcd_result

# 输出结果

print(f"{num1} 和 {num2} 的最大公约数是 {gcd_result}")

print(f"{num1} 和 {num2} 的最小公倍数是 {lcm_result}")

 

实现int sqrt(int x)函数,计算并返回x的平方根,其中x是非负整数,由于返回类型是整数,结果只保留整数部分,小数部分被舍去

num = float(input('请输入一个正整数:'))

#输入一个数

num_sqrt = num ** 0.5

#根据平方根公式定义变量

print(f'{num}的平方根为{num_sqrt}')

#输出结果

求解一元二次方程

import math

def solve_quadratic(a, b, c):

# 计算判别式

discriminant = b**2 - 4*a*c

 

# 判别式小于0,方程无实数根

if discriminant < 0:

return "方程无实数根"

# 判别式等于0,方程有一个实数根

elif discriminant == 0:

x = -b / (2*a)

return f"方程有一个实数根:x = {x}"

# 判别式大于0,方程有两个实数根

else:

x1 = (-b + math.sqrt(discriminant)) / (2*a)

x2 = (-b - math.sqrt(discriminant)) / (2*a)

return f"方程有两个实数根:x1 = {x1}, x2 = {x2}"

# 从用户输入获取方程的系数

a = float(input("请输入二次项系数 (a):"))

b = float(input("请输入一次项系数 (b):"))

c = float(input("请输入常数项 (c):"))

# 调用求解函数并打印结果

result = solve_quadratic(a, b, c)

print(result)

编写人:Kevin
2023.9.7