Python系列——基础2

例题二:写一个完整的体系,完成如下要求

1.输入姓名,输出“hello,xxx”(中文);

2.输入出生年份,输出年龄;

3. 输入性别;

4.输入前两次的成绩,显示进步情况;(百分比,保留2位小数)

5.保留性别为女的姓名,出生年份、年龄。(另存为txt文件)

首先介绍变量和赋值语句

变量,顾名思义就是可变的量,这个名词在其他领域都很常见,这里比如我们最常见的一种语句

“a=2”

这个语句是从右向左读,就是把2赋值给a这个变量,所以如果此时我们print(a)的话,输出结果为2,上述过程就是给变量赋值的过程。“=”右侧可以使任意类型的数值。

如果继续赋值,

a=‘Oliver‘

那么此时print(a)就会输出Oliver。

所以a的值是可变的,值可以是数值也可以是字符串,也可以是其他类型,变量是什么取决于你赋值给它什么。

PYTHON的一个很大的特点就是,省去了定义变量的过程,直接赋值即可自动生成,比如上文中,我们没有先假设存在a这个变量,而是直接将2赋值给a,至于a这个变量是python自动定义,然后赋值的。

1.输入姓名,然后输出“hello,xxx”(中文)

上一部分已经介绍过数据的一种类型——字符串,就是引号内部的”文本”,这里不多做介绍。结合上面所说的赋值语句,我们就可以完成如下所示的代码:

Name=”xxx”

Print(name)

输出部分肯定是用print(变量名)的形式,输入部分怎么处理?

输入函数input()

此处插一个小点

下面介绍输入函数input(),该函数将会读取用户在键盘键入的内容,(程序运行时会要求客户键入内容)

Input函数的最常用的方法就是

a=Input(“please inputtips here”)

等价于

Print(“please input tipshere”)

a=input()

这种用法就是个简写,没人愿意用后面那个麻烦的方式。

所以,第一个要求可以就做出来了,如下:(#后面的是解释,python默认不读取后面的内容,主要是为了后续写代码的清晰)

现在问题来了,在程序中加入英文姓名还好,中文怎么办?这里就要理解一个概念:编码。

编码

我们都知道,电脑只能处理0101这种数据,如果要处理文本,就要将文本转换为这种格式,计算机才能处理,最早的计算机在设计是将8个bit作为一个字节(byte)

可以理解为8位数的二进制作为一个字节(范围从00000000~11111111)。

总共有多少个呢?

2^8-1=255个,这么多个足够对英文字母编码了,实际上美国的ASCII码早期就只包含127个字符(包括26个字母)

但是对汉语来说,汉语的单字太多,255个肯定是不够的,因此至少需要两个字节(大约65535个)。所以,汉语的编码体系和英文是不同,汉语最早使用的是GB码。

随着多种语言编码的结合、合并、简化,目前UTF-8编码是比较节省空间和方便的编码。

所以,为了使得程序支持中文,我们要先声明一下采用UTF-8编码,怎么声明呢,在代码的开头输入:

# -*- coding: utf-8 -*-

这时,我们就可以这么写:(此处的换行符为了运行起来美观)

2.输入出生年份,然后输出年龄

到此处,就需要了解数据的第二种类型:数值(整数integrate)

这种数据可以加减,和正常的数据一样,可以做各种运算,不多做介绍。重点在于数值类型的转换!举例:

输入出生年份:

下面来看一下上述写法的错误之处:

比如我从键盘键入的数值1999,默认不是数,而是文本,所以拿一个文本数据去加减运算是无法运算的,所以这里,我们要将文本型数据转换为整数。

数据类型转化

怎么转?利用python的内置函数

int(),(integrate的简写)

int可以将()内的数值转换为整型数据,因此我们需要这么写

(待续)

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180125G0ZC0Q00?refer=cp_1026

相关快讯

扫码关注云+社区