【Python 基础】第一个程序

news2024/9/9 0:38:35

第一个程序

虽然交互式环境对于一次运行一条 Python 指令很好,但要编写完整的 Python程序,就需要在文件编辑器中输入指令。“文件编辑器”类似于 Notepad 或 TextMate这样的文本编辑器,它有一些针对输入源代码的特殊功能。要在 IDLE 中打开文件编辑器,请选择 File>New Window。

出现的窗口中应该包含一个光标,等待你输入,但它与交互式环境不同。在交互式环境中,按下回车,就会执行 Python 指令。文件编辑器允许输入许多指令,保存为文件,并运行该程序。下面是区别这两者的方法:

  • 交互式环境窗口总是有>>>提示符。
  • 文件编辑器窗口没有>>>提示符。

现在是创建第一个程序的时候了!在文件编辑器窗口打开后,输入以下内容:

# This program says hello and asks for my name.

print('Hello world!')
print('What is your name?') # ask for their name
myName = input()
print('It is good to meet you, ' + myName)
print('The length of your name is:')
print(len(myName))
print('What is your age?') # ask for their age 
myAge = input()
print('You will be ' + str(int(myAge) + 1) + ' in a year.')

在输入完源代码后保存它,这样就不必在每次启动 IDLE 时重新输入。从文件编辑器窗口顶部的菜单,选择 FileSave As。在“Save As”窗口中,在输入框输入hello.py,然后点击“Save”

在保存文件后,让我们来运行程序。选择 win+R,输入cmd。在弹出的窗口输入 cd + 刚才文件的地址,接着输入 ‘python hello.py’。在程序要求输入时,输入你的名字。在交互式环境中,程序输出应该看起来像这样:
在这里插入图片描述
如果没有更多代码行要执行,Python 程序就会“中止”。也就是说,它停止运行。(也可以说 Python 程序“退出”了。)

程序剖析

新程序在文件编辑器中打开后,让我们快速看一看它用到的 Python 指令,逐一查看每行代码。

注释

下面这行称为“注释”:

# This program says hello and asks for my name.

Python 会忽略注释,你可以用它们来写程序注解,或提醒自己代码试图完成的事。这一行中,#标志之后的所有文本都是注释。

有时候,程序员在测试代码时,会在一行代码前面加上#,临时删除它。这称为“注释掉”代码。在你想搞清楚为什么程序不工作时,这样做可能有用。稍后,如果你准备还原这一行代码,可以去掉#。

Python 也会忽略注释之后的空行。在程序中,想加入空行时就可以加入。这会让你的代码更容易阅读,就像书中的段落一样。

print()函数

print()函数将括号内的字符串显示在屏幕上:

print('Hello world!')
print('What is your name?') # ask for their name

代码行 print(‘Hello world!’)表示“打印出字符串’Hello world!'的文本”。Python执行到这行时,你告诉 Python 调用 print()函数,并将字符串“传递”给函数。传递给函数的值称为“参数”。请注意,引号没有打印在屏幕上。它们只是表示字符串的起止,不是字符串的一部分。

也可以用这个函数在屏幕上打印出空行,只要调用 print()就可以了,括号内没有任何东西。在写函数名时,末尾的左右括号表明它是一个函数的名字。

input()函数

函数等待用户在键盘上输入一些文本,并按下回车键。

myName = input()

这个函数求值为一个字符串,即用户输入的文本。前面的代码行将这个字符串赋给变量 myName。

你可以认为 input()函数调用是一个表达式,它求值为用户输入的任何字符串。如果用户输入’Al’,那么该表达式就求值为 myName = ‘Al’。

打印用户的名字

接下来的 print()调用,在括号间包含表达式’It is good to meet you, ’ + myName。

 print('It is good to meet you, ' + myName)

要记住,表达式总是可以求值为一个值。如果’Al’是上一行代码保存在 myName中的值,那么这个表达式就求值为’It is good to meet you, Al’。这个字符串传给 print(),它将输出到屏幕上。

len()函数

你可以向 len()函数传递一个字符串(或包含字符串的变量),然后该函数求值为一个整型值,即字符串中字符的个数。

print('The length of your name is:')
print(len(myName))

len(myName)求值为一个整数。然后它被传递给 print(),在屏幕上显示。请注意,print()允许传入一个整型值或字符串。

str()、int()和 float()函数

如果想要连接一个整数(如 29)和一个字符串,再传递给 print(),就需要获得值’29’。它是 29 的字符串形式。str()函数可以传入一个整型值,并求值为它的字符串形式,像下面这样:
在这里插入图片描述
因为 str(29)求值为’29’,所以表达式’I am ’ + str(29) + ’ years old.‘求值为’I am ’ + ‘29’ + ’ years old.’,它又求值为’I am 29 years old.'。这就是传递给 print()函数的值。

str()、int()和 float()函数将分别求值为传入值的字符串、整数和浮点数形式。请尝试用这些函数在交互式环境中转换一些值,看看会发生什么:
在这里插入图片描述
前面的例子调用了 str()、int()和 float()函数,向它们传入其他数据类型的值,得到了字符串、整型或浮点型的值。
如果想要将一个整数或浮点数与一个字符串连接,str()函数就很方便。如果你有一些字符串值,希望将它们用于数学运算,int()函数也很有用。例如,input()函数总是返回一个字符串,即便用户输入的是一个数字。在交互式环境中输入 spam = input(),在它等待文本时输入 101:
在这里插入图片描述
保存在 spam 中的值不是整数 101,而是字符串’101’。如果想要用 spam 中的值进行数学运算,那就用 int()函数取得 spam 的整数形式,然后将这个新值存在 spam 中。
在这里插入图片描述
现在你应该能将 spam 变量作为整数,而不是字符串使用。
在这里插入图片描述
请注意,如果你将一个不能求值为整数的值传递给 int(),Python 将显示出错信息。
在这里插入图片描述
如果需要对浮点数进行取整运算,也可以用 int()函数。
在这里插入图片描述
在你的程序中,最后 3 行使用了函数 int()和 str(),取得适当数据类型的值:

print('What is your age?') # ask for their age
myAge = input()
print('You will be ' + str(int(myAge) + 1) + ' in a year.')

myAge 变量包含了 input()函数返回的值。因为 input()函数总是返回一个字符串(即使用户输入的是数字),所以你可以使用 int(myAge)返回字符串的整型值。这个整型值随后在表达式 int(myAge) + 1 中与 1 相加。

相加的结果传递给 str()函数:str(int(myAge) + 1)。然后,返回的字符串与字符串’You will be ‘和’ in a year.'连接,求值为一个更长的字符串。这个更长的字符串最终传递给 print(),在屏幕上显示。

假定用户输入字符串’4’,保存在 myAge 中。字符串’4’被转换为一个整型,所以你可以对它加 1。结果是 5。str()函数将这个结果转化为字符串,这样你就可以将它与第二个字符串’in a year.'连接,创建最终的消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1917175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用知识碎片 Vue3 ref和reactive (内含其他常用知识)

目录 ref和reactive ref reactive 总结: setup语法糖 语法糖是啥? Vue3 setup语法糖 Vue3 不使用setup语法糖示例: Vue3 使用setup语法糖示例: ref和eative主要区别 ref和reactive 在 Vue 3 中,ref 和 reac…

linux radix-tree 基数树实现详解

radix tree,又称做基数树,是一种适合于构建key(index)与value(item)相关联的数据结构。内核中使用非常广泛。本文主要聚焦linux内核基数树的代码实现,大量注释过的代码。 radix-tree组织结构如下: 1、数据结构 /** The bottom two bits of the slot de…

SQL 针对上面的salaries表emp_no字段创建索引idx_emp_no

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 针对salaries…

LabVIEW滤波器性能研究

为了研究滤波器的滤波性能,采用LabVIEW设计了一套滤波器性能研究系统。该系统通过LabVIEW中的波形生成函数,输出幅值及频率可调的正弦波和白噪声两种信号,并将白噪声与正弦波叠加,再通过滤波器输出纯净的正弦波信号。系统通过FFT&…

RFID技术革新养猪业,构建智能化养殖场

RFID技术作为无线射频识别技术的一种,凭借着非接触、高效识别的特性,在养殖业行业中得到了广泛的应用,为构建智能化、高效化的养殖场提供了强大的技术支持,给传统养殖业带来了一场前所未有的技术变革。以下是RFID技术在养猪行业不…

【Oracle】实验三 Oracle数据库的创建和管理

【实验目的】 掌握Oracle数据库的创建方法使用DBCA创建数据库在数据库中装入SCOTT用户及其表 【实验内容】 使用DBCA创建数据库,名为MYDB,找到其初始化文件(文本型和服务器型文件都要找到),查看各类默认位置并记录下来(包括物理文件所在目…

SpringBoot源码阅读(8)——系统环境创建

SpringBoot创建系统应用上下文是在run方法,第301行。 ConfigurableEnvironment environment prepareEnvironment(listeners, bootstrapContext, applicationArguments);private ConfigurableEnvironment prepareEnvironment(SpringApplicationRunListeners listen…

windows远程桌面到 Linux系统(Ubuntu:22.04)—— 安装xrdp软件

1、在Linux系统上安装xrdp软件 sudo apt update sudo apt install xrdp2、安装完成后,需要开启xrdp服务 sudo systemctl start xrdp sudo systemctl enable xrdp打印返回 Synchronizing state of xrdp.service with SysV service script with /lib/systemd/system…

【VSCode】设置背景图片

1.下载background插件:拓展程序→background→install安装→设置: 2.点击在 settings.json 中编辑: 3.将settings.json文件中所有代码注释,添加以下代码: {// 是否开启背景图显示"background.enabled": t…

【每天认识一个漏洞】sourcemap文件泄露漏洞

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 利用工具 油猴脚本sourcemap-searcher或burp hae插件 F12控制台输入sms()如果存在会有提示,然后打开看能够下载…

数字化时代的供应链管理综合解决方案

目录 引言背景与意义供应链管理综合解决方案的目标 📄供应链管理系统主要功能系统优势 📄物流管理系统主要功能系统优势 📄订单管理系统主要功能应用场景 📄仓储管理系统系统亮点主要功能系统优势 📄商城管理系统主要功…

【机器学习】独立成分分析(ICA):解锁信号的隐秘面纱

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 独立成分分析(ICA):解锁信号的隐秘面纱引言I…

LLM——langchain 与阿里 DashScop (通义千问大模型) 和 DashVector(向量数据库) 结合使用总结

文章目录 前言预览直接调用大模型使用 prompt template格式化输出使用上下文 RAG 增强检索 自定义 langchain AgentPromptTemplate 和 ChatPromptTemplate使用少量示例创建ChatPromptTemplate 前言 langchain 是一个面向大模型开发的框架,其中封装了很多核心组件&a…

旷野之间9 - 如何判断是AI编写的文章

一个人写作 人工智能创作的文章、博客、论文甚至书籍在整个互联网上越来越成为问题。 许多人都不确定如何辨别一件作品是由人工智能还是人类创作的。在这篇文章中,我将向您展示如何区分人类和机器人。 深度与原创性 首先要寻找的线索之一是缺乏深度或原创性。人工…

【以史为镜、以史明志,知史爱党、知史爱国】中华上下五千年之-五代十国

五代十国(907年-960年)是中国历史上的一段大分裂时期,也是对五代与十国的合称。 五代依次为 梁、 唐、 晋、 汉、 周五个朝代,史称 后梁、 后唐、 后晋、 后汉与 后周。 后梁- 五代第一个朝代 朱全忠(朱温)…

跨境电商必备技能:掌握亚马逊测评自养号技术

亚马逊自养号的环境搭建是一个至关重要的过程,它直接关系到账号的稳定性和安全性。以下是一个详细的搭建方案: 一、底层环境搭建 设备底层硬件参数的伪装阻断: 通过国外服务器在云端搭建一个安全终端,用于阻断平台对设备底层硬…

(CVPR-2022)利用潜在扩散模型进行高分辨率图像合成

利用潜在扩散模型进行高分辨率图像合成 Title:High-Resolution Image Synthesis with Latent Diffusion Models paper是慕尼黑大学和海德堡大学发表在CVPR 22的工作 paper地址 文章目录 利用潜在扩散模型进行高分辨率图像合成Abstract1. Introduction2. Related Work3. Method3…

开关电源——15种控制模式(1)

关于开关电源的控制模式,TI官网的控制模式快速参考指南有相对全面的归纳和描述,提供了15种不同的控制架构,这些架构涵盖了从基础到高级的多种控制模式,以适应不同的应用需求,如下表所示: 以下是对控制模式相…

css实现3d照片墙

效果图 vue2写法&#xff1a; <template><div class"container"><div class"box"><div class"circle circle1"><img src"../../../assets/images/main/logo.png" alt"" /></div>&l…

OpenCV和PIL进行前景提取

摘要 在图像处理和分析中&#xff0c;前景提取是一项关键技术&#xff0c;尤其是在计算机视觉和模式识别领域。本文介绍了一种结合OpenCV和PIL库的方法&#xff0c;实现在批量处理图像时有效提取前景并保留原始图像的EXIF数据。具体步骤包括从指定文件夹中读取图像&#xff0c…