1 Python基本语法元素

1.1 程序设计基本方法

计算机的概念:

  • 功能性:对数据的操作,表现为数据计算、输入输出处理和结果储存等
  • 可编程性:根据一系列指令自动地、可预测地、准确地完成操作者的意图

计算机的发展:

  • 摩尔定律,表现为指数方式

源代码:采用某种编程语言写的计算机程序,人类可读

目标代码:计算机可直接执行,一般人类不可读

编译:将源代码一次性转换成目标代码(编译器)

解释:将源代码逐条转换成目标代码同时逐条运行(解释器)

静态语言:使用编译执行的编程语言:C/C++语言、Java

脚本语言:使用解释器执行的编程语言:Python、JS、PHP

编程基本方法:IPO

1.2 Python 开发环境配置

Python 的两种编程方式:交互式和文件式

1.3 实例1:温度转换

摄氏度和华氏度:

1
2
3
4
5
6
7
8
9
10
# TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")

1.4 Python 程序语法元素分析

程序格式框架:缩进表达格式框架,缩进是 Python 语法的一部分。要求缩进长度一致。

注释:用于提高代码可读性的语句,不会被计算机执行

单行注释和多行注释:

1
2
3
4
5
# this is an in line comment

'''
this is an multiple lines comment
'''

命名与保留字

  • 变量:用来保存和表示数据的占位符号
  • 命名规则:大小写字母、数字、下划线和汉字等字符及组合
  • 注意事项:大小写敏感、首字符不能是数字、不与保留字相同
  • 保留字:被编程语言内部定义并保留使用的标识符(33个):红色在本门课中不会涉及

数据类型:

  • 整数:10011101
  • 浮点数:
  • 字符串:”10,011,101”,字符的有序序列,正向递增序号和反向递减序号,切片<字符串>[M : N](M开始但是不到N)
  • 列表类型:[“10”,”011”,”101”],用 in 判断一个元素是否在列表中

赋值语句:由赋值符号构成的一行代码

分支语句:判断条件决定程序的运行方向

函数:根据输入产生不同输出的功能过程

Python的输入和输出:

  • input(“提示信息字符串”)
  • print()以字符串形式将数据输出到控制台
  • print()函数的格式化: “{ : . 2f}”.format(C),大括号表示槽,将format中的变量填充到槽中
  • eval()评估函数:将字符串中最外侧的引号去掉,运行余下部分语句的执行结果

1. Practice

  • 数字形式转换 I:获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
    0到9对应的中文字符分别是:零一二三四五六七八九

    Input:

    123

    9876543210

    Output:

    一二三

    九八七六五四三二一零

    1
    2
    3
    4
    numtochar = "零一二三四五六七八九"
    numstr = input()
    for i in numstr:
    print(numtochar[eval(i)],end='')
  • 货币转换:程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。

    Input:

    RMB123

    USD20

    Output:

    USD18.14

    RMB135.60

    1
    2
    3
    4
    5
    inputstr = input()
    if inputstr[0] == 'R':
    print("USD"+"{:.2f}".format((eval(inputstr[3:])/6.78)))
    else:
    print("RMB"+"{:.2f}".format((eval(inputstr[3:])*6.78)))
  • 温度转换 II :请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。

Input:

示例1:C12.34‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

示例2:F87.65

Output:

示例1:F54.21‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

示例2:C30.92

1
2
3
4
5
s = input()
if s[0].upper()=="C":
print("F{:.2f}".format(eval(s[1:])*1.8+32))
elif s[0].upper()=="F":
print("C{:.2f}".format((eval(s[1:])-32)/1.8))