当前位置: 首页 > article >正文

蓝桥杯python语言基础(1)——编程基础

目录

一、python开发环境

二、python输入输出

(1)print输出函数

print(*object,sep='',end='\n',......)

 (2)input输入函数

input([prompt]), 输入的变量均为str字符串类型!

 input()会读入一整行的信息

​编辑

三、数据类型、运算符

数据类型

运算符


一、python开发环境

python-3.8.6-amd64

二、python输入输出

(1)print输出函数

print(*object,sep='',end='\n',......)

  • *object: 这是一个可变参数,可以传入多个对象,这些对象会被依次打印出来。
  • sep: 指定多个对象之间的分隔符,默认是一个空格。
  • end: 指定打印结束后的字符,默认是换行符 '\n'
print("LanQiao",sep="needs",end="yuan\n")
print("LanQiao","300",sep="needs",end="yuan")

 (2)input输入函数

input([prompt]), 输入的变量均为str字符串类型!

在 Python 的文档和教程中,input([prompt]) 中的 [prompt] 被方括号括起来,表示这是一个可选参数。这种表示方法是一种约定,用于指示该参数是可选的,而不是必须提供的。

input(["请输入:"])
print(type(input("未结束~")))

 input()会读入一整行的信息

a=int(input("请输入:"))
print((a,type(a)))
b=int(input("请输入:")) #
# input() 函数返回的是一个字符串,
# 尝试将这个字符串直接转换为整数。
# 如果输入的内容包含空格或其他非数字字符,
# 转换就会失败并抛出 ValueError 异常。
print(b)

例题1.1

海伦公式用于计算已知三边长的三角形面积。公式如下:

s=p(p−a)(p−b)(p−c)s=p(p−a)(p−b)(p−c)​

$s = \sqrt{p(p - a)(p - b)(p - c)}$

其中,p 是半周长,计算公式为:

p = \frac{a + b + c}{2}

a = int(input("输入"));b = int(input("输入"));c = int(input("输入"))
p = (a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
print(s)

三、数据类型、运算符

数据类型

  • int转float: 直接转换。例如,int a = 5; float b = (float)a;,此时 b 的值为 5.0
  • float转int: 舍弃小数部分。例如,float c = 3.7; int d = (int)c;,此时 d 的值为 3
  • int转bool: 非0转换为 True,0转换为 False。例如,int e = 1; bool f = (bool)e;,此时 f 为 True;如果 e 为 0,则 f 为 False
  • bool转intFalse 转换为 0True 转换为 1。例如,bool g = True; int h = (int)g;,此时 h 的值为 1
  • 转str: 直接转换。例如,int i = 10; string j = (string)i;,此时 j 的值为 "10"

运算符

  • 算术运算符:用于数学计算。

    • +:加法
    • -:减法
    • *:乘法
    • /:除法
    • //:整除(返回商的整数部分)
    • %:求余(返回除法后的余数)
    • **:幂(表示乘方运算)
  • 关系运算符:用于比较两个值。

    • >:大于
    • <:小于
    • ==:等于
    • !=:不等于
    • >=:大于等于
    • <=:小于等于
  • 赋值运算符:用于将值赋给变量。

    • =:赋值
    • +=:加赋值(相当于 x = x + y
    • -=:减赋值(相当于 x = x - y
    • *=:乘赋值(相当于 x = x * y
    • /=:除赋值(相当于 x = x / y
    • %=:求余赋值(相当于 x = x % y
    • //=:整除赋值(相当于 x = x // y
    • **=:幂赋值(相当于 x = x ** y
  • 逻辑运算符:用于逻辑操作。

    • and:逻辑与
    • or:逻辑或
    • not:逻辑非
  • 成员运算符:用于判断一个值是否在序列中。

    • in:在...之中
    • not in:不在...之中
  • 身份运算符:用于比较对象的身份(内存地址)。

    • is:是
    • is not:不是

例题1.2

运算器代码一

def calculator():
    while True:
        try:
            num1 = float(input("请输入第一个数字: "))
            operator = input("请输入运算符 (+, -, *, /, //, %, **, >, <, ==,!=, >=, <=, and, or, not, is, is not): ")
            num2 = float(input("请输入第二个数字或值: "))
            if operator in ('/', '//', '%') and num2 == 0:
                print("除数不能为零")
                continue
            operations = {
                '+': num1 + num2, '-': num1 - num2, '*': num1 * num2,
                '/': num1 / num2 if num2 else None, '//': num1 // num2 if num2 else None,
                '%': num1 % num2 if num2 else None, '**': num1 ** num2,
                '>': num1 > num2, '<': num1 < num2, '==': num1 == num2,
                '!=': num1 != num2, '>=': num1 >= num2, '<=': num1 <= num2,
                'and': bool(num1) and bool(num2), 'or': bool(num1) or bool(num2),
                'not': not bool(num1), 'is': num1 == num2, 'is not': num1 != num2
            }
            if operator not in operations:
                print("无效的运算符,请重新输入。")
                continue
            result = operations[operator]
            print(f"结果是: {result}")
            if input("是否进行另一次计算?(y/n): ").lower() != 'y':
                break
        except ValueError:
            print("输入无效,请输入有效的数字或值。")

if __name__ == "__main__":
    calculator()

运算器代码二

def calculator():
    while True:
        try:
            num1 = input("请输入第一个数字: ")
            num1 = float(num1)
            operator = input(
                "请输入运算符 (+, -, *, /, //, %, **, >, <, ==,!=, >=, <=, and, or, not, is, is not): ")
            num2 = input("请输入第二个数字或值: ")
            num2 = float(num2)


            # 算术运算符
            if operator == '+':
                result = num1 + num2
            elif operator == '-':
                result = num1 - num2
            elif operator == '*':
                result = num1 * num2
            elif operator == '/':
                if num2 == 0:
                    print("除数不能为零")
                    continue
                result = num1 / num2
            elif operator == '//':
                if num2 == 0:
                    print("除数不能为零")
                    continue
                result = num1 // num2
            elif operator == '%':
                if num2 == 0:
                    print("除数不能为零")
                    continue
                result = num1 % num2
            elif operator == '**':
                result = num1 ** num2
            # 关系运算符
            elif operator == '>':
                result = num1 > num2
            elif operator == '<':
                result = num1 < num2
            elif operator == '==':
                result = num1 == num2
            elif operator == '!=':
                result = num1 != num2
            elif operator == '>=':
                result = num1 >= num2
            elif operator == '<=':
                result = num1 <= num2
            # 逻辑运算符
            elif operator == 'and':
                result = num1 and num2
            elif operator == 'or':
                result = num1 or num2
            elif operator == 'not':
                result = not num1
            # 身份运算符
            elif operator == 'is':
                result = num1 is num2
            elif operator == 'is not':
                result = num1 is not num2
            else:
                print("无效的运算符,请重新输入。")
                continue

            print(f"结果是: {result}")

            another_calculation = input("是否进行另一次计算?(y/n): ")
            if another_calculation.lower() != 'y':
                break
        except ValueError:
            print("输入无效,请输入有效的数字或值。")


if __name__ == "__main__":
    calculator()


http://www.kler.cn/a/522720.html

相关文章:

  • 登录授权流程
  • 【win11】解决msrdc.exe窗口启动导致周期性失去焦点
  • Autogen_core 测试代码:test_cache_store.py
  • 第19篇:python高级编程进阶:使用Flask进行Web开发
  • neo4j-community-5.26.0 install in window10
  • 2024年个人总结
  • (2025 年最新)MacOS Redis Desktop Manager中文版下载,附详细图文
  • 【BQ3568HM开发板】如何在OpenHarmony上通过校园网的上网认证
  • USB鼠标的数据格式
  • React 封装高阶组件 做路由权限控制
  • 梯度下降优化算法-Adam
  • 【无标题】规范学生的课堂行为。
  • 指针的介绍2后
  • 【Rust自学】15.7. 循环引用导致内存泄漏
  • Spring AOP原理
  • 智能门锁开发系列:从设计到实现的全面解析
  • Mybaties缓存机制
  • 装饰SpringMVC的适配器实现响应自动包装
  • 每日一题 429. N 叉树的层序遍历
  • WebPages 表单:设计与实现指南
  • react-bn-面试
  • 使用国内镜像加速器解决 Docker Hub 拉取镜像慢或被屏蔽的问题
  • 学习第七十六行
  • 备份与恢复管理系统深度解析及代码实践
  • GitHub 仓库的 Archived 功能详解:中英双语
  • 炫酷JavaScript文本时钟