1. 获取用户输入

要编写一个有实际价值的程序,就需要与用户交互。当然,与用户交互有很多方法,例如,GUI(图形用户接口)就是一种非常好的与用户交互的方式,不过我们先不讨论GUI的交互方式,本节会采用一种原始,但很有效的方式与用户交互,这就是命令行交互方式,也就是说,用户通过命令行方式输入数据,程序会读取这些数据,并做进一步的处理。

从命令行接收用户的输入数据,需要使用input函数。input函数接收一个字符串类型的参数,用于作为输入的提示。input函数的返回值就是用户在命令行中录入的值。不管用户录入什么数据,input函数都会以字符串形式返回。如果要获取其他类型的值,如整数、浮点数,需要用相应的函数转换。例如,字符串转换为整数的函数是int,字符串转换为浮点数的函数是float。

下面的例子要求用户在命令行中输入姓名、年龄和收入。其中年龄是整数,收入是浮点数。输入完这3个值后,会依次在控制台输出这3个值。由于年龄和收入都是数值,所以在获取用户输入值后,需要分别使用int和float函数将input函数的返回值分别转换为整数和浮点数。如果年龄和收入输入的是非数值,会抛出异常。

name = input("请输入你的名字:")				# 输入姓名,并把输入的结果赋给name变量
age = int(input("请输入你的年龄:")) # 输入年龄,并把输入的结果赋给age变量
salary = float(input("请输入你的收入:")) # 输入收入,并把输入的结果赋给salary变量 print("姓名:", name) # 输出姓名
print("年龄:", age) # 输出年龄
print("收入:", format(salary, "0.1f")) # 输出收入

运行程序,分别输入姓名、年龄和收入,按回车键后,会输出如下图所示的内容。

2. 函数

在前面的文章中曾经介绍过使用幂运算符(**)来计算一个数的n次方。事实上,可以用一个函数来代替这个运算符,这个函数就是pow,该函数可以传入两个参数,如果要计算x的y次方,那么pow函数的第1个参数应该是x,第2个参数应该是y。pow函数返回计算结果。例如,下面的代码计算2的6次方。

result = pow(2,6)			#  计算结果:64

像上面这行代码使用函数的方式叫做函数调用。函数相当于可以重用的代码段,如果在程序中有多处使用这段代码,就应该将这段代码放到函数中,这样既可以实现代码重用,还会避免代码冗余。我们可以想象,如果不使用函数,同样的代码出现在程序中的多个地方,一旦要修改这些代码,那简直就是噩梦,需要改很多个地方。

  Python语言提供了很多内建的函数以及通过模块提供的更多的函数,这些函数可以很大程度上实现代码复用,例如,abs函数用于获取数值的绝对值,round函数浮点数取整(四舍五入),cmath模块的sin函数用于计算弧度的正弦。

下面的例子演示了如果使用Python语言内建的函数以及模块提供的函数实现代码复用。

from cmath import sin			# 导入cmath模块中的sin函数
print(pow(2,5)) # 运行结果:32
print(abs(-12)) # 运行结果:12
print(sin(3.14 / 2)) # 运行结果:(0.9999996829318346+0j)
print(round(3.6)) # 运行结果:4
print(round(3.4)) # 运行结果:3

程序运行结果如下图所示。

《Python从菜鸟到高手》开始转载了,敬请关注

3. 注释

任何编程语言都有注释的功能。所谓注释,就是用一段文本描述代码的作用、代码的作者或是其他需要描述的东西。注释在程序编译时被忽略,也就是说,注释只在源代码中体现,编译生成的二进制文件中是没有注释的。

在Python语言中,注释分为单行注释和多行注释。单行注释用井号(#)开头,多行注释用3个引号(单引号或双引号)括起来。如果使用单行注释,井号后面的所有内容在编译程序时都会被忽略,如果使用多行注释,被引号括起来的内容在编译程序时都会被忽略。

在使用某些Python IDE时,默认会用ASCII编码格式保存源代码文件,这时如果源代码文件中含有中文,在运行Python程序时就会出错,这时需要使用注释标注当前源代码文件保存的编码格式。

用utf-8编码格式保存源代码文件

# coding=utf-8

用gbk编码格式保存源代码文件

# coding=gbk

建议读者使用utf-8编码格式保存源代码文件,因为utf8不仅仅能保存中文,还可以保存其他国家的文字,如韩文、日文。所以utf-8编码格式使用更普遍。

下面的例子演示了Python语言中单行注释、多行注释的用法

# coding=utf-8							当前Python源代码文件以utf-8编码格式保存

"""									多行注释(用双引号括起来)
作者:李宁
地点:earth """ # 用于计算2的4次幂 单行注释
print(2 ** 4) ''' 多行注释(用单引号括起来)
这段代码用于计算一个表达式的值
(1 + 2) * 20
'''
print((1 + 2) * 20)

《Python从菜鸟到高手》已经出版,开始连载了,购买送视频课程

Python从菜鸟到高手(6):获取用户输入、函数与注释的更多相关文章

  1. (一)第一个python语句、乘除法、获取用户输入、函数

    一.print语句 >>> print "hello World!!" python2 和python3 的print是不一样的,python3的print(“h ...

  2. 《Python从菜鸟到高手》已经出版,开始连载了,购买送视频课程

    好消息,<Python从菜鸟到高手>已经出版!!!   JetBrains官方推荐图书!JetBrains官大中华区市场部经理赵磊作序!送2400分钟同步视频课程!500个案例,400道P ...

  3. Python从菜鸟到高手(2):清空Python控制台

    执行python命令会进入Python控制台.在Python控制台中可以用交互的方式执行Python语句.也就是执行一行Python语句,会立刻返回执行结果.   当Python控制台输入过多的Pyt ...

  4. Python从菜鸟到高手(1):数字

    本文主要内容: 1. 数字的基础知识 2. 大整数 3. 二进制.八进制和十六进制 4 数字的格式化输出 一.数字的基础知识 Python语言与其他编程语言一样,也支持四则运算(加.减.乘.除),以及 ...

  5. python学习:注释、获取用户输入、字符串拼接、运算符、表达式

    注释 #为单行注释'''三个单引号(或者"""三个双引号)为多行注释,例如'''被注释的内容''' '''三个单引号还可以起到多行打印的功能. #ctrl+? 选中的多行 ...

  6. Python从菜鸟到高手(5):数字

    1 基础知识   Python语言与其他编程语言一样,也支持四则运算(加.减.乘.除),以及圆括号运算符.在Python语言中,数字分为整数和浮点数.整数就是无小数部分的数,浮点数就是有小数部分的数. ...

  7. Python从菜鸟到高手(3):声明变量

    变量(variable)是Python语言中一个非常重要的概念.变量的主要作用就是为Python程序中的某个值起一个名字.类似于"张三"."李四"." ...

  8. 16.Python input()函数:获取用户输入的字符串

    input() 函数用于向用户生成一条提示,然后获取用户输入的内容.由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串. 例如 ...

  9. 使用scanner工具类来获取用户输入的信息

    使用scanner工具类来获取用户输入的成绩信息. 步骤:1.导入java.util.Scanner包 2.创建Scanner对象 3.接受并保存用户输入的值 例子:通过用户输入来获取学生成绩 pac ...

随机推荐

  1. (网页)jQueryAJAXtimeout超时问题详解(转)

    先给大家分析下超时原因: 1.网络不通畅. 2.后台运行比较慢(服务器第一次运行时,容易出现) 超时结果:JQ中 timeout设置请求超时时间. 如果服务器响应时间超过了 设置的时间,则进入 ERR ...

  2. SQL 数据插入、删除 大数据

    --测试表 CREATE TABLE [dbo].[Employee] ( [EmployeeNo] INT PRIMARY KEY, [EmployeeName] [nvarchar](50) NU ...

  3. 基于cifar10实现卷积神经网络图像识别

    import tensorflow as tf import numpy as np import math import time import cifar10 import cifar10_inp ...

  4. c# 采用datatable 快速导入数据至MSSQL的方法分享

    转自:http://www.maomao365.com/?p=5613 摘要:下文讲述使用c#代码快速将dataTable导入至mssql数据库的方法 实现思路:需要将datatable调整为同目标表 ...

  5. Spring MVC 静态资源处理 (三)

    完整的项目案例: springmvc.zip 目录 实例 项目结构: 一.配置web.xml <?xml version="1.0" encoding="UTF-8 ...

  6. SpringBoot自定义属性配置以及@ConfigurationProperties注解与@Value注解区别

    我们可以在application.properties中配置自定义的属性值,为了获取这些值,我们可以使用spring提供的@value注解,还可以使用springboot提供的@Configurati ...

  7. AngularJS学习之旅—AngularJS 简介(一)

    一.AngularJS 简介 1.AngularJS 是一个 JavaScript 框架. AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库.Angu ...

  8. sqlserver 删除表中 指定字符串

    源表T "单据编号"               "航班计划日期"        "航班号"          "起飞航站代码&q ...

  9. 【PAT】B1005 继续(3n+1)猜想

    没有婼姐写得好 将所有的输入放入mp,mp2 覆盖的数存入mp 一开始认为mp中只出现一次的元素就是,忘了可能只被覆盖一次的情况 所以添加了mp2保存输入 #include <iostream& ...

  10. java实现支付宝支付及退款(一)

    本篇博客主要做支付宝支付的准备工作(注册沙箱.natapp内网穿透等操作).具体代码实现操作请看下篇博客 一.登录沙箱 1.登录蚂蚁金服开发平台: https://open.alipay.com/pl ...