100.for循环练习题-用一行代码求和

【目录】


【正文】

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)))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值