首页 > 编程语言 >Python基础2

Python基础2

时间:2023-09-07 22:04:31浏览次数:48  
标签:Python 基础 attempts result encoded print input 输入

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

标签:Python,基础,attempts,result,encoded,print,input,输入
From: https://www.cnblogs.com/fitfit/p/17686138.html

相关文章

  • python-day2
    1.类型转换name='宁颂姝'age=1print('我叫'+name+',今年'+str(age)+'岁')a=2b=4.4c=Falseprint(type(a),str(a),type(str(a)))print(type(a),float(a),type(float(a)))print(type(b),int(b),type(int(b)))print(type(c),int(c),type(int......
  • Java学习——基础知识补充
    1.作用域1.1public定义为public的class、interface可以被其他任何类访问,定义为public的field、method可以被其他类访问,前提是首先有访问这个类的权限。注意:一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。如果......
  • nicegui:Python 图形界面库,简单好用
    前言在现代计算机应用程序开发中,图形用户界面(GUI)是用户与程序交互的重要组成部分。然而,GUI开发往往需要大量的代码和复杂的布局,给开发者带来了一定的挑战。在本篇博文中,将介绍nicegui,它是一个简单易用的图形用户界面库,提供了一种简化GUI开发的方式,使开发者能够更快速地构建吸......
  • 执行python脚本报错:case by sslerror(sslcertVerificationerror(1,ssl:vertificate_ve
    【现象】  使用python编写了一个请求,报错ssl证书过期问题【解决办法】   requests.packages.urllib3.disable_warnings()  r=requests.post(service_url,data=payload,headers=self.headers,verify=False)参考链接:https://www.cnblogs.com/sea-stream/p/14......
  • 西二,java基础与高级
       下面是高级 ......
  • 《Web安全基础》05. XSS · CSRF · SSRF · RCE
    @目录1:XSS1.1:简介1.2:防护与绕过1.2.1:HttpOnly1.2.2:WAF绕过1.3:相关资源2:CSRF3:SSRF4:RCE本系列侧重方法论,各工具只是实现目标的载体。命令与工具只做简单介绍,其使用另见《安全工具录》。靶场参考:XSS-Labs,pikachu,DVWS。1:XSS1.1:简介XSS(Cross-SiteScripting),跨站脚本攻击。......
  • 《Web安全基础》04. 文件操作安全
    @目录1:文件操作安全2:文件上传漏洞2.1:简介2.2:防护与绕过2.3:WAF绕过2.3.1:数据溢出2.3.2:符号变异2.3.3:数据截断2.3.4:重复数据3:文件包含漏洞4:文件下载漏洞5:文件读取漏洞本系列侧重方法论,各工具只是实现目标的载体。命令与工具只做简单介绍,其使用另见《安全工具录》。靶场参考:u......
  • Python垃圾回收
    Python版本v3.9.17分析代码的过程比较枯燥,可以直接跳转到总结。只能被其他对象引用类型比如:longobject、floatobjectfloatobject以floatobject为例子来分析,先看看结构定义typedefstruct{PyObject_HEADdoubleob_fval;}PyFloatObject;//展开PyObject_HEAD......
  • Python 读取excel表1单元格 生成 表2 的超链接
    fromopenpyxlimportload_workbook#加载现有的工作簿fromopenpyxl.utilsimportget_column_letterwb=load_workbook("C:\\Users\\CMS01\\Desktop\\SCHH621TEG_LDO(PLDO、NLDO、CPLDO)测试需求_20230814.xlsx")#获取Sheet1和Sheet6sheet1=wb['Sheet7�......
  • python3读取ini文件内的字段信息
    在使用golang编码时,遇到ini文件的时候,有时候需要解析相关内容,主要就是一些配置信息,我们可能需要解析出来,简单就是用go-ini第三方库搞掂,在python中,同样我们也可以利用现有库来做解析。在python3中,可以用configParser标准库来解析ini文件,以下是代码示例,很简单,看一遍......