我有一个非常基本的问题.
假设我调用一个函数,例如,
def foo():
x = 'hello world'
Run Code Online (Sandbox Code Playgroud)
如何让函数以这样的方式返回x,我可以将它用作另一个函数的输入或者在程序体内使用变量?
当我使用return并在另一个函数中调用该变量时,我得到一个NameError.
我想创建这个元组:
a=(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6),(7,7,7),(8,8,8),(9,9,9)
Run Code Online (Sandbox Code Playgroud)
我试过这个
a=1,1,1
for i in range (2,10):
a=a,(i,i,i)
Run Code Online (Sandbox Code Playgroud)
但是,它会在每次迭代中在其他元组内创建一个元组.
谢谢
我有一个清单:
Student_Grades = ['56', '49', '63']
Run Code Online (Sandbox Code Playgroud)
我想将每个条目转换为整数,以便我可以计算平均值.
这是我的转换代码:
for i in Student_Grades:
Student_Grades = [int(i)]
Run Code Online (Sandbox Code Playgroud)
我一直在收到错误
invalid literal for int() with base 10: '56,'
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办
以下是关于我如何获得Student_Grades Choose_File = str的完整代码(输入("请输入要读入的文件的确切名称(包括文件扩展名):"))
with open(Choose_File, "r") as datafile:
counter = 1
x = 1
Student_Grades = []
Read = datafile.readlines()
info = Read[counter]
Split_info = info.split()
n = len(Split_info)
while x < n:
Student_Grades.append(Split_info[x])
x = x + 2
Run Code Online (Sandbox Code Playgroud)
文本文件的格式为'MECN1234 56,MECN1357 49,MATH1111 63'
我的Python代码每次循环时都会生成一个列表:
list = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
Run Code Online (Sandbox Code Playgroud)
但我想保存每一个 - 我需要一份清单吗?
所以我尝试过:
list[i] = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
Run Code Online (Sandbox Code Playgroud)
但Python现在告诉我"list"没有定义.我不确定如何定义它.另外,列表是否与数组相同?
谢谢!
有这样的清单:
x = ['+5556', '-1539', '-99','+1500']
Run Code Online (Sandbox Code Playgroud)
如何以漂亮的方式删除+和 - ?
这有效,但我正在寻找更多的pythonic方式.
x = ['+5556', '-1539', '-99', '+1500']
n = 0
for i in x:
x[n] = i.replace('-','')
n += 1
n = 0
for i in x:
x[n] = i.replace('+','')
n += 1
print x
Run Code Online (Sandbox Code Playgroud)
+而-并不总是处于领先地位; 他们可以在任何地方.
我试图将正数列表转换为python 3.3.3中具有相同值的负数列表
例如[1,2,3]转入[-1,-2,-3]
我有这个代码:
xamount=int(input("How much of x is there"))
integeramount=int(input("How much of the integer is there"))
a=1
lista=[]
while(a<=integeramount):
if(integeramount%a==0):
lista.extend([a])
a=a+1
listb=lista
print(listb)
[ -x for x in listb]
print(listb)
Run Code Online (Sandbox Code Playgroud)
当我希望一个为正,一个为负时,打印两个相同的列表.
我已经在python中搜索了如何做到这一点,我找不到答案.如果你有一个字符串:
>>> value = 'abc'
Run Code Online (Sandbox Code Playgroud)
如何将字符串中的所有字符增加1?所以我正在寻找的输入是:
>>> value = 'bcd'
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用ord和chr用一个角色做到这一点:
>>> value = 'a'
>>> print (chr(ord(value)+1))
>>> b
Run Code Online (Sandbox Code Playgroud)
但ord()与chr()只能采取一个字符.如果我使用上面的相同语句,并且字符串包含多个字符.我会得到错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ord() expected a character, but string of length 3 found
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
如果您的问题作为此问题的重复项而被关闭,那是因为您有一些通用形式的代码
x = X()
# later...
x = x.y()
# or:
x.y().z()
Run Code Online (Sandbox Code Playgroud)
其中X是某种类型,它提供了y旨在z变异(修改)对象(X类型的实例)的方法。这可以适用于:
list、dict和setbytearray这种形式的代码很常见,但并不总是错误的。问题的明显迹象是:
与x.y().z()一样,会引发异常AttributeError: 'NoneType' object has no attribute 'z'。
有了x = x.y(),x就变成None, 而不是被修改的对象。这可能会被后来的错误结果发现,或者被像上面这样的异常(x.z()稍后尝试时)发现。
Stack Overflow 上有大量关于这个问题的现有问题,所有这些问题实际上都是同一个问题。之前甚至有多次尝试在特定上下文中涵盖同一问题的规范。然而,理解问题并不需要上下文,因此这里尝试一般性地回答:
代码有什么问题吗?为什么这些方法会这样,我们如何解决这个问题?
另请注意,当尝试使用 alambda(或列表理解)来产生副作用时,会出现类似的问题。
同样明显的问题可能是由因其他原因返回的方法引起的None …
首先,我想为糟糕的头衔道歉,但这是我能做的最好的.我试图拍摄很多截图,希望能让它更容易理解.
所以我正在研究一个不和谐的聊天机器人,现在正在开发一个可以作为待办事项清单的功能.我有一个命令将任务添加到列表中,它们存储在dict中.但是我的问题是以更易读的格式返回列表(见图片).
def show_todo():
for key, value in cal.items():
print(value[0], key)
Run Code Online (Sandbox Code Playgroud)
任务存储在dict被调用的中cal.但是为了让机器人实际发送消息,我需要使用return语句,否则它只是将它打印到控制台而不是实际的聊天(见图片).
def show_todo():
for key, value in cal.items():
return(value[0], key)
Run Code Online (Sandbox Code Playgroud)
以下是我尝试修复它的方法,但由于我使用了返回,for循环无法正常工作.
那么我该如何解决这个问题呢?如何使用return语句将其打印到聊天而不是控制台?
请参阅图片以便更好地理解
我对导致这种情况的思维过程感兴趣.对我来说,一个相对新手,似乎阻碍了,因为它阻止了列表处理的"链接"(例如mylist.reverse().append('a string')[:someLimit]).我想可能是"那些人的力量"决定列表理解是一个更好的范例(一个有效的观点),所以不想鼓励其他方法 - 但是这似乎有悖常理,以防止一种直观的方法,即使更好存在替代品.
请注意,我不是在抱怨(我敢肯定有是一个合理的理由,我在它是什么只是感兴趣!),也不是寻找一个解决方案(意见在这里非常具有启发性) -只是寻找一些情况下,并深入理解语言的设计过程.