大家好,欢迎来到第一天的课程,今天我们将学习输出、注释、调试、字符串和变量,所以这节课充满了非常多有意思的东西。
今天课程结束的时候,你将学会创建一个”宠物名称生成器”程序。
假设你的朋友刚拥有一只猫咪或者小狗,他们需要为宠物想出一个好听的名字,你就可以把你的程序发给他们使用。这个程序需要输入你出生的城市。
下面是你的名字。
然后按一下回车键(Enter),程序就输出了宠物名字。
为了创建这个程序,你将会学习输出、输入、注释、调试、变量名错误、语法错误、字符串操作和变量等等。
如果你觉得你已经掌握了上面的所有知识点,你可以创建这个程序来看看,是否可以独立完成。然后直接跳到第二天的课程。但是对于大多数人来说,即使你已经学习了一些Python编程,仍然可以从今天的课程中发现很多新东西。
让我们来进行下一门课。立刻开始编程。
五 字符串操作和代码提示
这节课让我们来学习更多字符串相关的操作。前面几节课我们学写了print()函数,如果我们想要输出多行内容,我们就多写几个print()函数,比如现在我们将hello world输出三行,我们需要这样写。
print("Hello World!")
print("Hello World!")
print("Hello World!")
"""
Hello World!
Hello World!
Hello World!
"""
在这节课我将教你如何用一行代码做相同的事情。为了将内容在新的一行显示,我们需要使用换行符,在我们需要换行的地方输入\n,然后运行我们的代码,你就会看到输出了两行hello world。
print("Hello World!\nHello World!")
"""
Hello World!
Hello World!
"""
你可以自己尝试如何输出三行hello world,记住只要在需要换行的地方插入\n即可。我将代码放在了下面,你可以参考一下自己写的对不对:
print("Hello World!\nHello World!\nHello World!")
"""
Hello World!
Hello World!
Hello World!
"""
下面我们来学习字符串拼接,我们可以使用加号来拼接两个字符串,比如我要拼接hello和world这两个单词,我先写一个字符串hello,然后再写一个加号,后面接上world。程序输出了hello后面紧跟着world。
print("Hello" + "World")
"""
HelloWorld
"""
这两个单词中间没有空格,因为我们没有在这个字符串中添加任何空格字符,那么我们如何在hello和world中间插入空格呢?有三个方法可以实现在这两个单词中间添加空格。
第一个方法,你可以在hello 后面添加空格。
print("Hello " + "World")
"""
Hello World
"""
第二个方法,你可以world前面添加空格。
print("Hello" + " World")
"""
Hello World
"""
第三个方法,你可以在hello后面拼接上一个包含空格的字符串。
print("Hello" + " " + "World")
"""
Hello World
"""
如果你把字符串想象成一串相连的字符,那么字符串拼接就是简单的将这些字符串拼接成一个。
值得一提的是,空格在Python中是非常重要的。我这里说的空格并不是字符串中的空格,如果在代码开头我添加了空格或者我是用了Tab键,我现在运行代码,你会发现控制台中输出了错误信息。
这次的错误不是语法错误,而是缩进错误。这个错误信息说的是这个位置,在print()语句之前,发现了一个意外的缩进。这是我们遇到的第二个错误,上一个错误是语法错误,如果我们忘记给字符串添加结束双引号,这个时候运行程序,就会出现语法错误提示。
你已经认识了这些错误,知道了他们是怎么产生的,但是我们如何防止出现这些错误呢?你在编写代码的时候要全神贯注,但是有时候我们会感觉到疲倦,尤其是在晚上编写代码的时候,我们甚至会写错自己的名字。大部分编辑器都会提供代码辅助工具,在你输入代码的时候给你一些信息和提示。
在一个大型的项目中,会有很多行代码,每行代码都可能出现错误,比如忘记输入结束双引号,忘记输入加号,错误缩进等等,这里当我们运行代码,只会输出第一个错误提示,当我们添加上结束双引号,然后再运行代码,就会输出第二个错误,直到我们将所有错误全部修复,程序才会正常运行。
下面这张图显示的是第二行代码出错:
我们修复完第二行代码,再运行一次程序,显示第三行代码出错:
我们修复完第三行代码,程序正常运行:
在下节课的代码挑战中,你将面对一堆有问题的代码,你的工作是调试和修复这些代码,使代码没有任何错误,调试这个词实际来自一个故事,早在1980年,飞蛾飞进了一台计算机,它触电了,对程序员来说代码没有按照他的预期执行,所以他不得不进入计算机,挑出飞蛾,并修复电线,使其再次工作,现在我们的电脑中没有飞蛾,但是我们要做的是我们必须挑出错误,以便我们的代码能够以我们期望的方式运行。
进入下一节课,开始你的第一个调试练习。
六 代码挑战
题目描述
下面这个代码,每行都有错误,你需要修复这些问题使代码正常运行。
print(第一天 - 字符串操作")
print("字符串拼接通过"+"来完成")
print("例如,print("Hello " + "World")")
print(("创建新的一行可以通过\n来完成")
提示:你程序的输出必须和正确输出一致,包括字符,空格,缩进,要不然代码挑战就不算通过。
正确输出
第一天 - 字符串操作
字符串拼接通过"+"来完成
例如,print("Hello " + "World")
创建新的一行可以通过\n来完成
解答
# 补全字符串开头双引号
# print(第一天 - 字符串操作")
print("第一天 - 字符串操作")
# 转义双引号
# print("字符串拼接通过"+"来完成")
print("字符串拼接通过\"+\"来完成")
# 移除语句开头的空格字符
# print("例如,print("Hello " + "World")")
print("例如,print("Hello " + "World")")
# 补全又括号,转义反斜线
# print(("创建新的一行可以通过\n来完成")
print(("创建新的一行可以通过\\n来完成"))
七 输入函数
前面几节课我们已经学习了如何输出字符串、对字符串进行拼接操作以及对代码进行调试。但是如果我们想要输入一些数据该怎么办呢?例如,我们想要让用户输入“你的名字是什么?”:
print("你的名字是什么?")
我们运行上面这段代码,程序会将print函数中的内容输出到控制台,但是我们没有办法获取用户输入的内容。我们要实现获取用户输入信息的功能,需要使用input函数来替换print函数:
input("你的名字是什么?")
运行这段代码,然后输入一个名字,按回车键,这个名字就传回给了程序。
现在我们想让程序将我们输入的内容再输出出来,就需要使用到print函数:
print("你好:" + input("你的名字是什么?"))
这段代码不仅使用到了print函数,还使用到了字符串拼接。运行这段代码,我们输入“世界”,这段代码就会输出:“你好:世界”。
这段代码运行的过程是:
- 执行input函数
- 输出“你的名字是什么?”
- 获取我们输入的内容,“世界”
- 将“你好:”字符串和“世界”字符串拼接在一起为“你好:世界”
- print函数将字符串“你好:世界” 字符串输出到控制台
在我们编写代码的时候,有时候我们需要为这段代码添加一些笔记,比如解释这段代码的作用是什么、这段代码还有什么需要改进的之类的内容,这个就是注释,注释对程序员来说很重要,在我们写完代码之后,可能会很长时间不会再碰这段代码,直到我们打算再次对这段代码进行修改,当我们再次回来,可能已经无法理解这段代码当时的作用是什么,为什么会写这段代码,我们如果为这段代码写上注释,就可以帮我们快速回忆起这段代码的作用。当然,如果我们将代码分享给其他程序员,注释也可以帮他们快速理解这段代码的作用。
在Python中,注释以井号“#”开头,井号后面的内容就是注释:
# 这段代码的作用是将用户的名字输出到控制台
print("你好:" + input("你的名字是什么?"))
源码:第一章 第六节 源代码
八 代码挑战:输入函数
写一个程序,输出用户名长度。
注意:使用搜索引擎搜索Python如何计算字符串长度。
样例输入
张三
样例输出
2
解答
首先需要查找使用Python如何计算字符串长度,我们可以使用len函数,这个函数接受一个字符串,返回这个字符串的长度,例如:
print(len("张三")) # 2
如果我们需要计算用户输入的任意字符串,我们只需要在程序中获取用户输入的“张三”即可, 根据我们上节课学习的input行数,可以获取用户输入的信息,我们可以写出如下代码:
len(input("你的名字是什么?"))
这段代码就会计算用户输入的任何信息。
最后将所有的代码拼接在一起,即可完成输出用户输入的用户名程序:
print(len(input("你的名字是什么?")))
源码:第一章 第八节 源代码