【头歌】Python数据结构 Python入门之基础语法

第1关:行与缩进

任务描述

本关任务:改正代码中不正确的缩进,使其能够正常编译,并输出正确的结果。

相关知识
缩进

Python 与 C/C++、Java 这些 C 类语言不同,Python 使用缩进来表示代码块,缩进的空格数量可以由个人习惯决定,但同一个代码块的缩进空格数必须相同。

  1. if True:
    print("true")
    print("true")
    else:
    print("false")
    print("false");

上面程序的 if 部分和 else 部分缩进不相同,但是在各自的代码块内缩进是相同的,所以是正确的程序。

  1. if True:
    print("true")
    print("true")

这个程序的 if 部分缩进不相同,所以是错误的程序。

多行语句

Python 的代码一般是一行一条语句,语句之后的分号 ; 可加可不加。但如果要在一行中写多条语句,则需要用分号 ; 隔开每条语句。

  1. print("hello")
    print("world");
    
    print("hello");print("world")

以上三行(四条语句)都是正确的。

编程要求

根据提示,改正右侧编辑器中代码的缩进错误,使其能够正确运行,并输出结果。

测试说明

改正后可得到以下输出:

wrong1

这里有一个错误缩进

wrong2

wrong3

hello

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 等差不多:

  • 第一个字符必须是字母表中的字母或下划线 _ ;
  • 标识符的其他的部分,由字母、数字和下划线组成;
  • 标识符对大小写敏感;
  • 标识符不能与保留字相同。

比如:

  1. num1 = 1
    float1 = 0.5
    true = True #这个 true 虽然字面上的意思与值“True”相同,但 python 对大小写敏感,所以也是正确的
    str1 = "hello"

这些都是正确的标识符。

而:

 
  
  1. 1value = 1 #开头不能是数字
    value0.1 = 0.1 #标识符中间只能是数字,字母,下划线
    if = True #与保留字if重名

都是不正确的标识符。

保留字

保留字即关键字,是 Python 语言中内部使用的单词,代表一定语义。例如:and、class、if、else 等。保留字不能作为标识符,用在变量名、常量名、类名等地方。 Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

 
  
  1. import keyword
    print(keyword.kwlist)

输出:

 
  
  1. ['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 的所有保留字。

测试说明

改正程序后会得到以下输出: 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
    print(1024)

    #错误3
   
    print(1.024)

    #错误3
    print('False')


    #在此处输出保留关键字
    print(keyword.kwlist)
    print("end")

第3关:注释

任务描述

本关任务:修改程序,得到正确的结果。

相关知识

注释是对程序代码的说明,一般是给程序员理解代码使用,不作为程序一部分。

Python 中单行注释以 # 开头:

  1. #这是一个注释1
    print("python") #这是一个注释2
    #print("python2")

运行得到的结果是: python

多行注释可以使用多个#,也可以用一对'''(三个单引号)或者"""(三个双引号)包裹要注释的内容:

 
  
  1. #使用多个#
    #作注释
    
    '''
    用三个单引号
    作注释
    '''
    
    """
    用三个双引号
    作注释
    """
编程要求

根据提示,对右侧编辑器中,部分代码添加注释或者取消注释,使其输出结果与测试说明中的结果一致。

测试说明

处理后的代码应该输出:

1

3

5

hello

world

3

4

 代码如下:

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()的括号内,就可以输出:

  1. print("hello world")

得到的结果是:hello world

print函数可以同时输出多个内容,只需要将它一起放在print的括号内,并用逗号隔开:

  1. print("hello","world")

得到的结果:hello world

值得注意的是,同时输出的多个内容之间,会有空格隔开。

类似于 C/C++ 的printf,Python 的print也能实现格式化输出,方法是使用%操作符,它会将左边的字符串当做格式字符串,将右边的参数代入格式字符串:

  1. print("100 + 200 = %d" % 300) #左边的%d被替换成右边的300
    print("A的小写是%s" % "a") #左边的%s被替换成右边的a

得到的结果是:

100 + 200 = 300 A的小写是a

如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开,参数的顺序应该对应格式字符串中的顺序

  1. print("%d + %d = %d" % (100,200,300))
    print("%s %s" % ("world","hello"))

得到的结果是:

100 + 200 = 300 world hello

格式字符串中,不同占位符的含义:

%s: 作为字符串 %d: 作为有符号十进制整数 %u: 作为无符号十进制整数 %o: 作为无符号八进制整数 %x: 作为无符号十六进制整数,a~f采用小写形式 %X: 作为无符号十六进制整数,A~F采用大写形式 %f: 作为浮点数 %e,%E: 作为浮点数,使用科学计数法 %g,%G: 作为浮点数,使用最低有效数位

更多用法可以在网络上自行搜索。

注意: print函数输出数据后会换行,如果不想换行,需要指定end=""

  1. print("hello" , end="")
    print("world" , end="")

得到的结果:helloworld #####输入 使用input函数可以获得用户输入,在控制台窗口上,输入的一行的字符串,使用变量 = input()的形式将其赋值给一个变量:

  1. str1 = input()
    print("输入的是%s" % str1)

如果输入hello然后回车,则输出:输入的是hello

还可以在input()的括号内,加入一些提示信息:

  1. str1=input("请输入:")
    print("输入的是%s" % str1)

运行之后,会先显示请输入:,输入数据hello之后回车,则会得到输出:输入的是hello,控制台上显示的全部内容为:

请输入:hello 输入的是hello

字符串转换

input函数接收的是用户输入的字符串,此时还不能作为整数或者小数进行数学运算,需要使用函数将字符串转换成想要的类型。

  • 转换成整数,使用int()函数:num1 = int(str)
  • 转换成小数,使用float()函数:f1 = float(str)
 
  
  1. str = input()
    num1 = int(str)
    f1 = float(str)
    print("整数%d,小数%f" % (num1,f1))

如果输入10,得到的输出是:整数10,小数10.000000

编程要求

根据提示,在右侧编辑器 Begin-End 区间补充代码,接收用户输入的两个数 a 和 b,对其进行加减乘除四则运算,通过print函数打印四次运算结果,使结果输出形式与预期输出保持一致。

测试说明

平台会对你编写的代码进行测试:

测试输入: 100 200

预期输出: 100 + 200 = 300 100 - 200 = -100 100 * 200 = 20000 100 / 200 = 0.500000

测试输入: 5 2

预期输出: 5 + 2 = 7 5 - 2 = 3 5 * 2 = 10 5 / 2 = 2.500000

提示:

Python 中对两个数(整数,浮点数)进行除法运算后,得到的结果是浮点数,所以输出需要使用%f:

 
  
  1. 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"% (a,b),)
    
    
    
# ********** End ********** #

你可能感兴趣的:(python,数据结构,开发语言)