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

从Hello World到“能做简单计算”,吃透基础语法

我们从最基础的 "Hello World" 开始,一步步深入到能进行简单计算,在这个过程中透彻理解基础语法。

使用 Python 作为教学语言,因为它语法简洁,最适合初学者理解核心概念。最后我会提供 Java 和 C++ 的对比版本。


第一阶段:Hello World - 程序的起点 bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

任何编程语言的学习都从这里开始。它的目的是验证你的开发环境是否搭建成功,并运行第一个程序。

Python 代码:

print("Hello, World!")

语法解剖:

  1. print():这是一个 函数。你可以把它理解为一个“工具”,它的功能是把括号里的内容输出到屏幕上。
  2. "Hello, World!":这是一个 字符串。在编程中,文本内容需要用引号(单引号 '' 或双引号 "")包裹起来。
  3. 括号 ():函数名后面必须跟着括号,括号里面是你要给这个函数的“材料”(参数)。这里我们给 print 函数的材料就是一段文字。
  4. 代码行:在Python中,一行代码就是一条指令。

运行它: 将代码保存为 hello.py,然后在终端或命令行中运行 python hello.py


第二阶段:理解“数据” - 变量与数据类型bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

程序是用来处理数据的。我们首先要学会如何把数据“存起来”。

1. 变量

变量就像一个带标签的盒子,你可以把数据放进去,然后通过标签名来使用它。

# 把数字 10 放进一个叫做 ‘age’ 的盒子里
age = 10# 把字符串 “Alice” 放进一个叫做 ‘name’ 的盒子里
name = "Alice"# 使用这些盒子里的数据
print(name)     # 输出:Alice
print(age)      # 输出:10

语法 变量名 = 值=赋值运算符,意思是将右边的值“赋予”左边的变量。

2. 基本数据类型bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

数据有不同的类型,就像物品有书、水果、衣服之分。

数据类型 含义 示例 说明
整数 (int) 没有小数点的数 10, -5, 0 用于计数、索引
浮点数 (float) 有小数点的数 3.14, -0.001, 2.0 用于测量、计算
字符串 (str) 文本 "Hello", 'Python' 用于表示文字信息
布尔值 (bool) 逻辑值 True, False 用于条件判断

查看数据类型:

type_of_age = type(age)
print(type_of_age) # 输出:<class 'int'>

第三阶段:让程序“思考” - 运算符与输入bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

现在,我们可以开始对数据进行计算和交互了。

1. 算术运算符

就是数学中的加减乘除。

a = 10
b = 3print(a + b)   # 加,输出 13
print(a - b)   # 减,输出 7
print(a * b)   # 乘,输出 30
print(a / b)   # 除,输出 3.333...
print(a // b)  # 取整除法,输出 3
print(a % b)   # 取余数,输出 1 (10除以3,余1)
print(a ** b)  # 乘方,输出 1000 (10的3次方)

2. 获取用户输入bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

让程序从用户那里获取数据。

# input() 函数会暂停程序,等待用户输入,并将输入的内容作为字符串返回
your_name = input("请输入你的名字:")
print("你好, " + your_name + "!") # 用 + 号连接字符串# 输入数字需要进行类型转换
number_str = input("请输入一个数字:")
number = int(number_str)  # 将字符串转换为整数
# 或者简写为: number = int(input("请输入一个数字:"))
print("你输入的数字是:", number)

第四阶段:实现“简单计算器”bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

我们将上面所有的知识组合起来,创建一个能进行加减乘除的简单计算器。

版本1.0:基础版

# 1. 获取用户输入
num1 = float(input("请输入第一个数字:"))  # 使用 float 可以接受小数
operator = input("请输入运算符 (+, -, *, /):")
num2 = float(input("请输入第二个数字:"))# 2. 进行计算并输出结果
result = 0  # 初始化一个变量来存储结果if operator == "+":result = num1 + num2
elif operator == "-":result = num1 - num2
elif operator == "*":result = num1 * num2
elif operator == "/":if num2 != 0:  # 检查除数是否为0,防止程序崩溃result = num1 / num2else:print("错误:除数不能为零!")exit()  # 退出程序
else:print("不支持的运算符!")exit()# 3. 输出结果
print(f"计算结果:{num1} {operator} {num2} = {result}")

代码深度解析:

  1. if / elif / else:这是 条件判断 语句。程序会根据条件决定执行哪一段代码。

    • if operator == "+": 如果运算符是加号,就执行下面的缩进代码。
    • elifelse if 的缩写,用于检查其他条件。
    • else 是所有上述条件都不满足时执行的“兜底”选项。
  2. ==:这是 比较运算符,用于检查左右两边的值是否相等。注意它和赋值运算符 = 完全不同。

  3. 缩进:在Python中,缩进(通常是4个空格)决定了代码的层次结构。隶属于 if, elif, else 的代码块必须统一缩进。

  4. f-string 格式化字符串f"..." 是一种强大的字符串格式,可以在字符串中直接嵌入变量,用 {变量名} 表示。这比用 + 号连接更清晰、更高效。

版本1.1:增强版(加入循环)bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

让计算器可以持续使用,直到用户选择退出。

while True:  # 创建一个无限循环print("\n--- 简单计算器 ---")# 获取用户输入num1 = float(input("请输入第一个数字:"))operator = input("请输入运算符 (+, -, *, /),输入 'q' 退出:")if operator == 'q':print("感谢使用,再见!")break  # break 会跳出整个循环num2 = float(input("请输入第二个数字:"))# ... (这里的计算逻辑和版本1.0一样) ...result = 0if operator == "+":result = num1 + num2elif operator == "-":result = num1 - num2elif operator == "*":result = num1 * num2elif operator == "/":if num2 != 0:result = num1 / num2else:print("错误:除数不能为零!")continue  # continue 会跳过本次循环的剩余代码,直接开始下一次循环else:print("不支持的运算符!")continueprint(f"计算结果:{num1} {operator} {num2} = {result}")

新概念解析:

  • while True::创建一个循环。只要条件为 True(永远为真),循环体内的代码就会一遍又一遍地执行。
  • break:立即终止整个循环。
  • continue:立即跳过当前这次循环中剩余的代码,直接开始下一次循环。

多语言对比:Java 和 C++ 的实现bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

为了帮助你理解不同语言的语法差异,这里是同一个简单计算器在 Java 和 C++ 中的实现。

Java 版本bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

Java 是强类型、面向对象的语言,更严谨,代码量稍多。

import java.util.Scanner; // 需要导入 Scanner 类来获取输入public class SimpleCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 创建扫描器对象while (true) {System.out.println("\n--- 简单计算器 ---");System.out.print("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.print("请输入运算符 (+, -, *, /),输入 'q' 退出:");String operator = scanner.next();if ("q".equals(operator)) {System.out.println("感谢使用,再见!");break;}System.out.print("请输入第二个数字:");double num2 = scanner.nextDouble();double result;switch (operator) { // Java 的 switch 语句case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":if (num2 != 0) {result = num1 / num2;} else {System.out.println("错误:除数不能为零!");continue;}break;default:System.out.println("不支持的运算符!");continue;}System.out.println("计算结果:" + num1 + " " + operator + " " + num2 + " = " + result);}scanner.close(); // 关闭扫描器}
}

C++ 版本bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

C++ 更接近底层,性能高,但需要手动管理内存等细节。

#include <iostream> // 包含输入输出流头文件
using namespace std; // 使用标准命名空间int main() {while (true) {cout << "\n--- 简单计算器 ---" << endl;double num1, num2;char operator_; // C++ 中字符用 charstring input;   // 字符串用 stringcout << "请输入第一个数字:";cin >> num1;cout << "请输入运算符 (+, -, *, /),输入 'q' 退出:";cin >> input;if (input == "q") {cout << "感谢使用,再见!" << endl;break;}// 取输入字符串的第一个字符作为运算符operator_ = input[0];cout << "请输入第二个数字:";cin >> num2;double result;switch (operator_) { // C++ 的 switch 语句case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {cout << "错误:除数不能为零!" << endl;continue;}break;default:cout << "不支持的运算符!" << endl;continue;}cout << "计算结果:" << num1 << " " << operator_ << " " << num2 << " = " << result << endl;}return 0;
}

你已掌握的核心语法bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==

通过这个从 "Hello World" 到 "简单计算器" 的旅程,你已经吃透了编程最基础、最核心的语法概念:

  1. 基本输出print()
  2. 变量与数据类型:如何存储和表示数据(整数、浮点数、字符串、布尔值)
  3. 运算符:算术运算符 (+, -, *, /),赋值运算符 (=),比较运算符 (==)
  4. 用户输入input() 及类型转换
  5. 条件判断if, elif, else 让程序有了“决策”能力
  6. 循环while 循环让程序能够重复执行任务,breakcontinue 用于控制循环流程。
    bG9pajNqLmNvbQ== # loij3j.com#bG9pajNqLmNvbQ==
    这些是构建所有复杂程序的基石。之后,继续学习 函数(用于组织代码)列表/数组(用于存储一系列数据) 等概念,你的编程能力会越来越强!
http://www.jsqmd.com/news/56056/

相关文章:

  • 2025年度芯硅谷售后完善度及市场口碑TOP5排行榜:五大实
  • P8023 [ONTAK2015] Tasowanie 题解
  • Swift项目生成Framework流程以及与OC的区别 - 详解
  • 2025年十大广东机械设备源头厂家排行榜,新测评精选源头制造
  • 我可以加入少女粤队吗?
  • 2025年GEO推广优化企业排名:专业GEO推广优化公司推荐
  • 2025年发表刊物哪家好?五大靠谱发表服务公司推荐,中赢文化
  • 基于MATLAB的二自由度机械臂PD控制
  • 毕业生找工作TOP5权威推荐:精准破局求职困境,助力毕业生高
  • 线上遇到的redis和数据库数据未同步问题、redisson内部实现问题
  • 提升开发效率的关键:Python 在工程应用中的五大实战技巧
  • 2025文艺演出资深机构TOP5权威推荐:甄选专业团队助力活
  • 2025年东北玻璃钢雕塑品牌商推荐:十大玻璃钢雕塑制造厂批量
  • 2025年十大专业的活动策划专业公司推荐,实力强的活动策划公
  • 2025年黑龙江苯板雕刻制造商推荐:苯板雕刻优质供应商和生产
  • 快懂百科创建代做公司有哪些,推荐一家能做快懂百科的公司
  • 2025年哈尔滨苯板立体雕刻加工厂/制造厂哪家更值得选?
  • 实用指南:实验十三 Z-buffer算法实验
  • 升鲜宝供应链管理系统源代码---仓储式超市门店管理系统设计(一)
  • RAG_查询重构与分发 - 实践
  • 2025年全国信誉好的活动策划专业公司排行榜,售后完善、比较
  • 2025苯板雕刻加工厂TOP5权威推荐:苯板立体雕刻制造商哪
  • java要记
  • 连接池的价值与风险——池化提升与资源枯竭的双刃剑,关键指标如何解读
  • 【大数据高并发核心场景实战】 数据持久化层 - 分表分库
  • 【机器学习13】异常检测优化、推荐框架、协同过滤
  • 2025年电力在线监测系统推荐制造商:高性价比供应商与工厂深
  • 102302134陈蔡裔数据采集第四次作业
  • 2025年国内防爆接地箱供应商推荐:接地箱定制靠谱企业有哪些
  • 实用指南:攻防世界-cat_cat_new(任意文件读取、Linux敏感文件、flask-session伪造)