python列表for循环 加入新列表_关于python:使用for循环在列表中添加值
本问题已经有最佳答案,请猛点这里访问。
我是Python的新手,我无法解决为什么这不起作用。
number_string = input("Enter some numbers:")
# Create List
number_list = [0]
# Create variable to use as accumulator
total = 0
# Use for loop to take single int from string and put in list
for num in number_string:
number_list.append(num)
# Sum the list
for value in number_list:
total += value
print(total)
基本上,我希望用户输入123例如然后得到1和2和3之和。
我收到此错误,不知道如何打击它。
Traceback (most recent call last):
File"/Users/nathanlakes/Desktop/Q12.py", line 15, in
total += value
TypeError: unsupported operand type(s) for +=: 'int' and 'str'
我只是在我的教科书中找不到答案,并且不明白为什么我的第二个for循环不会迭代列表并将值累加到total。
您需要先将字符串转换为整数,然后才能添加它们。
尝试更改此行:
number_list.append(num)
对此:
number_list.append(int(num))
或者,更多Pythonic方法是使用sum()函数,并使用map()将初始列表中的每个字符串转换为整数:
number_string = input("Enter some numbers:")
print(sum(map(int, number_string)))
但请注意,如果您输入类似"123abc"的内容,您的程序将崩溃。如果您有兴趣,请查看处理异常,特别是ValueError。
我同意这是一个有效的解决方案,但基于命名,将其添加到名为"number_list"的列表时将其转换为整数更有意义。 否则他每次使用数字时都需要施放。
同意,我编辑了我的帖子。
所以你建议当我附加到列表时,我追加int()
@Nate是的,这样就可以将字符串转换为整数,可以将其添加到total
我想人们已经正确地指出了代码中的缺陷,即从字符串到int的类型转换。然而,以下是编写相同逻辑的更加pythonic方式:
number_string = input("Enter some numbers:")
print sum(int(n) for n in number_string)
在这里,我们使用了生成器,列表推导和库函数和。
>>> number_string ="123"
>>> sum(int(n) for n in number_string)
6
>>>
编辑:
number_string = input("Enter some numbers:")
print sum(map(int, number_string))
或者sum(map(int, number_string))。
这是关于Python 3中输入的官方文档
input([prompt])
If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised. Example:
>>> s = input('--> ')
--> Monty Python's Flying Circus
>>> s
"Monty Python's Flying Circus"
因此,当您在示例的第一行中执行输入时,您基本上会获得字符串。
现在你需要在总结之前将这些字符串转换为int。所以你基本上会这样做:
total = total + int(value)
关于调试:
在类似的情况下,当你遇到错误时:+ =''int'和'str'的不支持的操作数类型,你可以使用type()函数。
做类型(num)会告诉你它是一个字符串。显然无法添加string和int。
`
将行更改为:
total += int(value)
要么
total = total + int(value)
附:两个代码行都是等价的。
python列表for循环 加入新列表_关于python:使用for循环在列表中添加值相关推荐
- python中怎样向字典中添加值_python中向一个字典中加值
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 ...
- python编程快速上手第四章_《Python编程快速上手——让繁琐的工作自动化》读书笔记 第四章 列表...
接下来我们来学习 python 中的列表(有点像 Java 中的数组,但并不是数组) "列表"是一个值,它包括多个字构成的序列,术语"列表值"指的是列表本身(它 ...
- 小甲鱼python课后题和答案简书_【py小甲鱼笔记】-列表
要点:通过print(dir(list))来查看列表的所有方法,然后通过help(list.index).help(list.sort) 等查看帮助文档,这样就可以快速了解列表的每一个函数的用法 一. ...
- python将对象放入列表根据某个属性排升序_对python 对象列表根据某个属性排序的方法...
对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的情况下,需要自己选择特定的排序,也就是根据某一个具体的属性来排序,在网上找了下资料,一般来说有两 ...
- python循环爬取页面_使用for或while循环来处理处理不确定页数的网页数据爬取
本文转载自以下网站: Python For 和 While 循环爬取不确定页数的网页 https://www.makcyun.top/web_scraping_withpython16.html 需 ...
- python用循环结构求平均值_有python的输出问题;循环总数和平均值
我的嵌套循环有一些输出问题,通常我会使用break在代码中添加一些行或print() 当我在我的代码中使用print()时,我的输出看起来像是在新行上输入总数而不是我想要的 以下是我当前输出的图片,我 ...
- python数据可视化从入门到实战_《Python编程从入门到实践》json数据可视化练习详解...
<Python编程从入门到实践>16.2中,计算收盘价均值的程序有些不易看懂,结合我自己的理解进行一些说明. 使用的数据集:join格式的数据, 数据集是由多个字典为元素组成的列表.每个字 ...
- python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...
在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...
- python切片操作的几种格式_【Python杂记】第四篇:序列切片
使用python处理问题的过程中,经常会遇到从某个序列中抽取部分值的情况."切片"操作正是专门用于实现这一目的的方法. 实际上,可以通过单次或多次切片操作实现任意目标值切取.切片操 ...
- python基础面试都问什么问题_基本 Python 面试问题
def Stack(object): def __init__(self): self.stack = [] def push(self,value): # 进栈 self.stack.append( ...
最新文章
- 教你用Python表达母亲节的祝福
- android登录窗口——基础编
- kotlin学习笔记——类型、变量、属性
- c#执行存储过程的简单实例
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- 如何处理“转换数据类型错误”错误?
- XNOR.ai融资1200万美元
- 覆盖17类面试题小结
- html页面背景位置,html5background位置
- AGV调度系统开发1(电子地图编辑软件)
- 神经网络论文Enhancing deep neural networks via multiple kernel learning
- 录入年、月、日,判断日期的合法性
- 谈微软 KMS 激活
- MatlabR2014a安装工具包
- 服务器光盘的正确使用方法,使用光盘刻录服务器,自动备份数据到光盘(成功案例)...
- 微信小游戏Banner广告
- python工程师必备工具
- c++中的 for_each 函数
- c++中using的几种用法
- ubuntu系统下破解Clion