例题二:写一个完整的体系,完成如下要求
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可以将()内的数值转换为整型数据,因此我们需要这么写
(待续)
领取专属 10元无门槛券
私享最新 技术干货