头歌实验二Python入门之基础语法
Posted 明金同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了头歌实验二Python入门之基础语法相关的知识,希望对你有一定的参考价值。
文章目录
>>> 第1关:行与缩进
- 任务描述
- 相关知识
- 缩进
- 多行语句
- 编程要求
- 测试说明
任务描述
本关任务:改正代码中不正确的缩进,使其能够正常编译,并输出正确的结果。
相关知识
缩进
Python 与 C/C++、Java 这些 C 类语言不同,Python 使用缩进来表示代码块,缩进的空格数量可以由个人习惯决定,但同一个代码块的缩进空格数必须相同。
if True:
print("true")
print("true")
else:
print("false")
print("false");
上面程序的 if 部分和 else 部分缩进不相同,但是在各自的代码块内缩进是相同的,所以是正确的程序。
if True:
print("true")
print("true")
这个程序的 if 部分缩进不相同,所以是错误的程序。
多行语句
Python 的代码一般是一行一条语句,语句之后的分号 ; 可加可不加。但如果要在一行中写多条语句,则需要用分号 ; 隔开每条语句。
print("hello")
print("world");
print("hello");print("world")
以上三行(四条语句)都是正确的。
编程要求
根据提示,改正右侧编辑器中代码的缩进错误,使其能够正确运行,并输出结果。
测试说明
改正后可得到以下输出: wrong1这里有一个错误缩进wrong2wrong3hello world
参考答案
#有错误的函数1
def wrong1():
print("wrong1")
print("这里有一个错误缩进")
#有错误的函数2
def wrong2():
print("wrong2")
if False:
print("这个不应该输出")
print("这个也不应该输出")
#有错误的函数3
def wrong3():
print("wrong3");print("hello world")
#这里是调用三个函数的代码
#不要修改
if __name__ == '__main__':
wrong1()
wrong2()
wrong3()
>>> 第2关:标识符与保留字
- 任务描述
- 相关知识
- 标识符
- 保留字
- 编程要求
- 测试说明
任务描述
本关任务:改正程序中的错误,并输出 Python3 的所有保留字。
相关知识
标识符
标识符就是程序中,使用的各种名称,例如:变量名、常量名、类名等等。 在 Python 中,对标识符格式的要求与 C/C++、Java 等差不多:
- 第一个字符必须是字母表中的字母或下划线 _ ;
- 标识符的其他的部分,由字母、数字和下划线组成;
- 标识符对大小写敏感;
- 标识符不能与保留字相同。
比如:
num1 = 1
float1 = 0.5
true = True #这个 true 虽然字面上的意思与值“True”相同,但 python 对大小写敏感,所以也是正确的
str1 = "hello"
这些都是正确的标识符。
而:
1value = 1 #开头不能是数字
value0.1 = 0.1 #标识符中间只能是数字,字母,下划线
if = True #与保留字if重名
都是不正确的标识符。
保留字
保留字即关键字,是 Python 语言中内部使用的单词,代表一定语义。例如:and、class、if、else 等。保留字不能作为标识符,用在变量名、常量名、类名等地方。 Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
import keyword
print(keyword.kwlist)
输出:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
编程要求
根据提示,改正右侧编辑器的代码,并输出 Python3 的所有保留字。
测试说明
改正程序后会得到以下输出:
:::info
string
1024
1.024
False
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
end
:::
参考答案
import keyword
if __name__ == '__main__':
#错误1
str1 = "string"
print(str1)
#错误2
number = 1024
print(number)
#错误3
float_1_024 = 1.024
print(float_1_024)
#错误3
false = False
print(false)
#在此处输出保留关键字
print(keyword.kwlist)
print("end")
>>> 第3关:注释
- 任务描述
- 相关知识
- 编程要求
- 测试说明
任务描述
本关任务:修改程序,得到正确的结果。
相关知识
注释是对程序代码的说明,一般是给程序员理解代码使用,不作为程序一部分。
Python 中单行注释以 # 开头:
#这是一个注释1
print("python") #这是一个注释2
#print("python2")
运行得到的结果是: python
多行注释可以使用多个#,也可以用一对’‘’(三个单引号)或者"“”(三个双引号)包裹要注释的内容:
#使用多个#
#作注释
'''
用三个单引号
作注释
'''
"""
用三个双引号
作注释
"""
编程要求
根据提示,对右侧编辑器中,部分代码添加注释或者取消注释,使其输出结果与测试说明中的结果一致。
测试说明
处理后的代码应该输出:
1
3
5
hello world
34
参考答案
if __name__ == '__main__':
#以下是要修改的代码
print(1)
# print(2)
print(3)
# print(4)
print(5)
# print(6)
print("hello world")
"""
print("这个不应该输出")
"""
'''
print(1)
print(2)
'''
print(3)
print(4)
>>> 第4关:输入输出
- 任务描述
- 相关知识
- 输出
- 输入
- 字符串转换
- 编程要求
- 测试说明
任务描述
本关任务:编写一个对用户输入,进行加减乘除四则运算的程序。
相关知识
输出
print的函数的基本使用,在之前的关卡中,已经出现过多次,将要输出的内容放在print()的括号内,就可以输出:
print("hello world")
得到的结果是:hello world
print函数可以同时输出多个内容,只需要将它一起放在print的括号内,并用逗号隔开:
print("hello","world")
得到的结果:hello world
值得注意的是,同时输出的多个内容之间,会有空格隔开。
类似于 C/C++ 的printf,Python 的print也能实现格式化输出,方法是使用%操作符,它会将左边的字符串当做格式字符串,将右边的参数代入格式字符串:
print("100 + 200 = %d" % 300) #左边的%d被替换成右边的300
print("A的小写是%s" % "a") #左边的%s被替换成右边的a
得到的结果是:
100 + 200 = 300A的小写是a
如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开,参数的顺序应该对应格式字符串中的顺序:
print("%d + %d = %d" % (100,200,300))
print("%s %s" % ("world","hello"))
得到的结果是:
100 + 200 = 300world hello
格式字符串中,不同占位符的含义:
%s: 作为字符串%d: 作为有符号十进制整数%u: 作为无符号十进制整数%o: 作为无符号八进制整数%x: 作为无符号十六进制整数,a~f采用小写形式%X: 作为无符号十六进制整数,A~F采用大写形式%f: 作为浮点数%e,%E: 作为浮点数,使用科学计数法%g,%G: 作为浮点数,使用最低有效数位
更多用法可以在网络上自行搜索。
**注意:**print函数输出数据后会换行,如果不想换行,需要指定end=“”:
print("hello" , end="")
print("world" , end="")
得到的结果:helloworld
输入
使用input函数可以获得用户输入,在控制台窗口上,输入的一行的字符串,使用变量 = input()的形式将其赋值给一个变量:
str1 = input()
print("输入的是%s" % str1)
如果输入hello然后回车,则输出:输入的是hello。
还可以在input()的括号内,加入一些提示信息:
str1=input("请输入:")
print("输入的是%s" % str1)
运行之后,会先显示请输入:,输入数据hello之后回车,则会得到输出:输入的是hello,控制台上显示的全部内容为:
请输入:hello输入的是hello
字符串转换
input函数接收的是用户输入的字符串,此时还不能作为整数或者小数进行数学运算,需要使用函数将字符串转换成想要的类型。
- 转换成整数,使用int()函数:num1 = int(str)
- 转换成小数,使用float()函数:f1 = float(str)
str = input()
num1 = int(str)
f1 = float(str)
print("整数%d,小数%f" % (num1,f1))
如果输入10,得到的输出是:整数10,小数10.000000。
编程要求
根据提示,在右侧编辑器 Begin-End 区间补充代码,接收用户输入的两个数 a 和 b,对其进行加减乘除四则运算,通过print函数打印四次运算结果,使结果输出形式与预期输出保持一致。
测试说明
平台会对你编写的代码进行测试:
测试输入: 100200
预期输出: 100 + 200 = 300100 - 200 = -100100 * 200 = 20000100 / 200 = 0.500000
测试输入: 52
预期输出: 5 + 2 = 75 - 2 = 35 * 2 = 105 / 2 = 2.500000
提示:
Python 中对两个数(整数,浮点数)进行除法运算后,得到的结果是浮点数,所以输出需要使用%f:
a = 100
b = 200
print("%d / %d = %f" % (a,b,a / b))#第三个占位符使用的是%f,而不是像前两个那样使用%d
得到的结果:100 / 200 = 0.500000
参考答案
if __name__ == "__main__":
a = int(input())
b = int(input())
# ********** Begin ********** #
print("%d + %d = %d" % (a,b,a+b))
print("%d - %d = %d" % (a,b,a-b))
print("%d * %d = %d" % (a,b,a*b))
print("%d / %d = %f" % (a,b,a/b))
# ********** End ********** #
以上是关于头歌实验二Python入门之基础语法的主要内容,如果未能解决你的问题,请参考以下文章