算法的含义
真刀真枪地编写程序前,先来说说何为计算机编程。简而言之, 计算机编程是指通过编写特定的指令(代码),让计算机执行所需任务的过程。 计算机多才多艺,但不太善于独立思考,必须提供详尽的细节,使用它们能够明白的语言将算法提供给它们。 算法只不过是流程或菜谱的时髦说法,详尽地描述了如何完成某项任务。 请看下面的菜谱:
鸡蛋火腿肠:先取一些火腿肠。
再加些火腿肠和鸡蛋。
如果喜欢吃辣,加些辣味火腿肠。
煮熟为止。记得每隔10分钟检查一次。
这个菜谱并不神奇,但其结构很有启发性。它由一系列必须按顺序执行的操作说明组成, 其中有些可直接完成(取些火腿肠),有些需要特别注意(如果喜欢吃辣),还有一些需要重复多次每隔10分钟检查一次)。 菜谱和算法都由原料(对象)和操作说明(语句)组成。在这个示例中,火腿肠和鸡蛋是原料, 而操作说明包括添加火腿肠、烹饪指定的时间等。新程序在文件编辑器中打开后, 快速看一看它用到的Python指令,逐一查看每行代码。
# 这是一个注释
print("Hello, World!")
Hello, World!
多行注释用三个单引号'''
或者三个双引号"""
将注释括起来,例如:
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")
Hello, World!
"""
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
"""
print("Hello, World!")
Hello, World!
print('Hello world!')
Hello world!
print('What is your name?') # ask for their name
What is your name?
代码行 print('Hello world!')
表示“打印出字符串 'Hello world!’
的文本”。
Python执行到这行时,告诉Python调用 print()
函数,并将字符串“传递”给函数。
传递给函数的值称为“参数”。请注意,引号没有打印在屏幕上。
它们只是表示字符串的起止,不是字符串的一部分。
也可以用这个函数在屏幕上打印出空行,只要调用 print()
就可以了,括号内没有任何东西。
在写函数名时,末尾的左右括号表明它是一个函数的名字。现在的Python 3 程序中会经常看到 print()
,
而不是 print
。
print()
默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
,
通过实例查看一下执行结果:
x="a"
y="b"
换行输出:
print( x )
print( y )
a b
不换行输出:
print( x, end=" " )
print( y, end=" " )
a b
myName = '东北虎'
接下来的 print()
调用,在括号间包含表达式 'It is good to meet you,' +myName
。
print('It is good to meet you, ' + myName)
It is good to meet you, 东北虎
print('The length of your name is:')
print(len(myName))
len('')
The length of your name is: 3
0
在交互式环境中输入以下内容试一试:
就像这些例子,len(myName)
求值为一个整数。然后它被传递给 print()
,在屏幕
上显示。请注意,print()
允许传入一个整型值或字符串。但如果在交互式环境中输
入以下内容,就会报错:
# print('I am ' + 29 + ' years old.') #此段代码会报错
# print('I am ' + 29 + ' years old.') #此段代码会报错
导致错误的原因不是 print()
函数,而是试图传递给 print()
的表达式。
如果在交互式环境中单独输入这个表达式,也会得到同样的错误。
# 'I am ' + 29 + ' years old.' #此段代码会报错
# 'I am ' + 29 + ' years old.' #此段代码会报错
str(29)
'29'
print('I am ' + str(29) + ' years old.')
I am 29 years old.
因为 str(29)求值为 ’29’
,
所以表达式'I am ' + str(29) + ' years old.'
求值为'I am ' + '29' + ' years old.'
,
它又求值为’I am 29 years old.’
。
这就是传递给 print()
函数的值。
str()
、 int()
和 float()
函数
将分别求值为传入值的字符串、整数和浮点数形式。请
尝试用这些函数在交互式环境中转换一些值,看看会发生什么。
str(0)
str(-3.14)
int('42')
int('-99')
int(1.25)
int(1.99)
float('3.14')
float(10)
10.0
前面的例子调用了
str()
、 int()
和 float()
函数,
向它们传入其他数据类型的值,得到了字符串、整型或浮点型的值。
如果想要将一个整数或浮点数与一个字符串连接, str()
函数就很方便。如果
有一些字符串值,希望将它们用于数学运算, int()
函数也很有用。例如, input()
函
数总是返回一个字符串,即便用户输入的是一个数字。
myAge
变量包含了 input()
函数返回的值。因为 input()
函数总是返回一个字符串
(即使用户输入的是数字),所以可以使用int(myAge)
返回字符串的整型值。这个
整型值随后在表达式int(myAge)+ 1中与1相加。
相加的结果传递给 str()
函数:str(int(myAge)+l)
。然后,返回的字符串与字符
串 'You will be '
和 'in a year.'
连接,
求值为一个更长的字符串。这个更长的字符串最
终传递给print()
,在屏幕上显示。
假定用户输入字符串 ’4’
,保存在 myAge
中。字符串 ’4’
被转换为一个整型,所以
可以对它加1。结果是5。str()
函数将这个结果转化为字符串,这样就可以将它
与第二个字符串 ’inayear.’
连接,创建最终的消息。
文本和数字相等判断
虽然数字的字符串值被认为与整型值和浮点型值完全不同,但整型值可以与 浮点值相等。
42 == '42'
False
42 == 42.0
True
42.0 == 0042.000
True
Python进行这种区分,因为字符串是文本,而整型值和浮点型都是数字。