【目录】
【正文】
1.求和计算
【目标任务】
输入一个正整数 n
,计算输出从 1 到 n
各数字的和,要求用一行
代码实现。
【输入输出】
输入:2
输出:3
输入:3
输出:6
【题目解析】
如果输入数字3
,则输出1+2+3
的值。
题目要求计算从 1 到 n 各数字的和
,这就是一个明确的范围。
有明确的范围我们用for循环语句
实现。
2. 基础代码
编写代码时,初学者先给变量n
赋一个简单的值,先不要加input
输入语句。
【代码示例1】
n = 3
add = 0
# 题目要求包括n,因此range函数需要以n+1结尾
for i in range(1,n+1):
add += i
print(add)
【终端输出】
6
【代码解析】
add += i
在循环中,将每个数字i累加到add变量中。
+=
是一个复合赋值运算符,用于将右侧的值加到左侧的变量上,并将结果赋值给左侧的变量。
x += y
可以理解为 x = x + y
。
【代码示例2】
给代码增加一个input
输入语句。
n = int(input("请输入一个正整数n:"))
add = 0
# 题目要求包括n,因此range函数需要以n+1结尾
for i in range(1,n+1):
add += i
print(add)
【终端输出】
6
这里终端输入的值为3
。
3. 循环语句中print的位置
如果要输出每次循环的结果
,print语句放在循环体中,即相对于for关键字有4个空格的缩进。
如果要输出循环的最终结果
,print语句放在循环体外,即和for关键字对齐。
【输出每次循环的结果-缩进】
n = 3
add = 0
# 题目要求包括n,因此range函数需要以n+1结尾
for i in range(1,n+1):
add += i
print(add)
【终端输出】
1
3
6
相对于for关键字有4个空格的缩进,输出了每一次循环的结果。
【输出最终的结果-对齐】
n = 3
add = 0
# 题目要求包括n,因此range函数需要以n+1结尾
for i in range(1,n+1):
add += i
print(add)
【终端输出】
6
与for关键字对齐时,只输出了最终的结果。
4. 关键字
【关键字】
在Python中,关键字
是具有特殊含义的保留单词,用于表示语法结构或特定功能。
注意注意不能将关键字作为变量、函数、类、模块和其他对象的名称来使用。
例如,if、for、while、def
等都是Python的关键字。
【代码示例】
def = 8
print(def)
【终端输出】
SyntaxError: invalid syntax
使用关键字作为变量名,程序报错。
SyntaxError: invalid syntax
:语法错误,无效的字符。
关键字是区分字母大小写
的。
例如,def
是关键字,但是 DEF
就不属于关键字。
【代码示例】
DEF = 8
print(DEF)
【终端输出】
8
运行上面的代码,程序没有报错。
【内置函数名】
Python中有很多内置函数。
例如sum、int、len、eval
等等。
sum
是Python内置函数之一,用于计算可迭代对象中元素的总和。
sum
不是关键字,是函数名,因此可以在代码中作为变量名使用。
但建议避免使用内置函数名作为变量名,以免引起混淆。
因此上面的代码中我用了add
来表示和,没有用sum
。
但如果你用了sum
,程序也不会报错。
print(sum([2,2,2]))
【终端输出】
6
注意,sum
函数的参数只能是可迭代对象。
[2,2,2]
数据类型为列表,列表为可迭代对象。
5. 关键字的查看方法
import keyword
keyword.kwlist
【终端输出】
['False',
'None',
'True',
'__peg_parser__',
'and',
'as',
'assert',
'async',
'await',
'break',
'class',
'continue',
'def',
'del',
'elif',
'else',
'except',
'finally',
'for',
'from',
'global',
'if',
'import',
'in',
'is',
'lambda',
'nonlocal',
'not',
'or',
'pass',
'raise',
'return',
'try',
'while',
'with',
'yield']
上面输出的结果都是Python中的关键字。
【代码解析】
keyword [ˈkiːwəːd]:关键字。
keyword 是 Python 内置模块之一,它提供了与 Python 关键字
相关的功能。
keyword.kwlist
是 keyword 模块的一个属性。
返回一个包含所有 Python 关键字的列表。
6. 用一行代码求和
对一个有规则的序列求和呢,我们首先要想到用sum
函数。
sum
函数的作用就是对可迭代对象求和。
【代码示例】
# 通过range 函数生成1到输入的数的整数序列
# 通过sum 函数对序列求和
print(sum(range(1,int(input("请输入一个正整数:"))+1)))
【终端输出】
6
终端输入的值是3
。
input("请输入一个正整数:")
input
函数接收用户的从终端输入的数。
int(input(“请输入一个正整数:”))
int() 函数将输入的字符串转换为整数。
int(input("请输入一个正整数:"))+1
题目要求求时包括n
,因为range
函数取值含前不含后
,因此要取到n
,这就需要加1
。
range(1,int(input("请输入一个正整数:"))+1)
range() 函数创建一个迭代器,生成从1
到输入整数加1
的整数序列。
sum(range(1,int(input("请输入一个正整数:"))+1))
用Python内置的函数sum()
将这个整数序列中的所有数字相加。
print(sum(range(1,int(input("请输入一个正整数:"))+1)))
最后,print() 函数输出求和后的结果。
7. 代码比对
【代码示例】
n = int(input("请输入一个正整数n:"))
add = 0
# 题目要求包括n,因此range函数需要以n+1结尾
for i in range(1,n+1):
add += i
print(add)
【代码示例】
print(sum(range(1,int(input("请输入一个正整数:"))+1)))