作为一个例子:math.sqrt()被认为是一个函数但是,"Lower".upper()被称为.upper() 方法.
为什么是math.sqrt功能?点访问不是指示方法吗?
这是我在麻省理工学院开放式课程计算机科学第7讲中遇到的一段代码.这个小程序得到基数和高度的输入然后用毕达哥拉斯定理计算斜边.
由于某种原因,它无法识别浮动的进入.
代码如下:
#! /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
import math
#Get base
inputOK = False
while not inputOK:
base = input("Enter base: ")
if type(base) == type(1.0):
inputOK = True
else:
print("Error. Base must be a floating point number.")
#Get Height
inputOK = False
while not inputOK:
height = input("Enter height: ")
if type(height) == type(1.0):
inputOK = True
else:
print("Error. height must be a floating point number.")
hyp = math.sqrt(base*base + height*height)
print("Base: " + str(base) + ", height: " + str(height) …Run Code Online (Sandbox Code Playgroud) 所以,我正在尝试从 Python 的列表中删除非整数(非常令人兴奋的东西)。我遇到了以下代码的问题,但我似乎无法解决:
list_a = ["a", 1, 2, 3, False, [1, 2, 3]]
for item in list_a:
if not isinstance(item, int):
list_a.remove(item)
Run Code Online (Sandbox Code Playgroud)
我试图删除列表中的所有非 int 项目,但上面的代码不会删除 False。
我想要的是:[1, 2, 3]
我得到什么:[1, 2, 3, False]
任何帮助解决这个问题的帮助将不胜感激!
我做了这个简短的问卷调查:
from random import randint
def pancakes():
q = raw_input("Do you like pancakes?")
if q == "yes":
print("Great!")
elif q == "no":
print("Hmmm...")
def french_toast():
q = raw_input("Do you like french toast?")
if q == "yes":
print("Oh!")
elif q == "no":
print("Same here!")
def random():
num = 2
while num > 0:
random = randint(1, 2)
if random == 1:
num = num -1
pancakes()
elif random == 2:
num = num -1
french_toast()
random()
Run Code Online (Sandbox Code Playgroud)
我的目标是以随机顺序提出问题.但有时同样的问题会被问到两次,因为它是随机选择的.
那么我怎么能让它只问一次相同的问题呢?
我是python的新手.我正在做以下代码,我遇到了一个不受欢迎的结果.请查看我的代码,让我知道我做错了什么:
class TestClass(object):
@classmethod
def __init__(self, val):
self.val = val
@classmethod
def value(self):
return self.val
def Test():
a = TestClass(9)
b = TestClass(8)
c = TestClass(7)
print(a.value(), b.value(), c.value())
Run Code Online (Sandbox Code Playgroud)
期望输出为
9 8 7
Run Code Online (Sandbox Code Playgroud)
但得到输出
7 7 7
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题.
我是Python的初学者,遇到了一个函数:
choice(seq)
Run Code Online (Sandbox Code Playgroud)
这里"seq"可以是字符串,元组或列表.但是,当我在终端中使用它时会抛出一个错误:
NameError: name 'choice' is not defined
Run Code Online (Sandbox Code Playgroud)
我使用这个功能的方式是:(在终端上)
choice("hello")
Run Code Online (Sandbox Code Playgroud)
但如上所述,它引发了一个错误.
我可能以错误的方式使用它,所以如果我的方法有任何更正或任何其他替代方式我可以从列表,字符串和元组中获取随机项目,我会欢迎所有的建议.
谢谢.
什么是目的'。加入() 在这里
print(''.join(reversed(a)))
Run Code Online (Sandbox Code Playgroud)
我们不能只用反转函数反转字符串吗
print(reversed("python"))
Run Code Online (Sandbox Code Playgroud) 给定这样的类结构:
class A:
dependencies = ["x", "y"]
class B(A):
dependencies = ["z"]
class C(A):
dependencies = ["n", "m"]
class D(C):
dependencies = ["o"]
Run Code Online (Sandbox Code Playgroud)
我想知道是否有可能编写一个函数(最好是生活在A类),这些函数沿着这些方向做了一些事情:
@classmethod
def get_all_dependencies(cls):
return super().get_all_dependencies() + cls.dependencies
Run Code Online (Sandbox Code Playgroud)
对于上述类,预期输出将是:
>>> A.get_all_dependencies():
["x", "y"]
>>> B.get_all_dependencies():
["x", "y", "z"]
>>> C.get_all_dependencies():
["x", "y", "n", "m"]
>>> D.get_all_dependencies():
["x", "y", "n", "m", "o"]
Run Code Online (Sandbox Code Playgroud)
显然上面的代码不起作用 - 它只返回dependencies我调用它的类.我不确定如何让它在所有类中递归工作?(我正在hasattr检查以确保父类调用get_all_dependencies().)
问题是这样,拿两个清单,例如说这两个:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Run Code Online (Sandbox Code Playgroud)
并编写一个程序,该程序返回一个列表,该列表仅包含列表之间的公共元素(无重复项)。确保您的程序可以在两个不同大小的列表上运行。
这是我的代码:
a = [1, 1, 2, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
c = []
for i in a:
if i in b and i not in c:
c.append([i])
print(c)
Run Code Online (Sandbox Code Playgroud)
尽管'i …
我试图理解Python中列表推导的性能,以及使用它们与循环创建列表的权衡.使用for循环将元素附加到列表的已知性能成本之一是在每次迭代时它是O(k)(其中k是列表的长度),因为append需要到达列表的末尾添加一个额外的元素.
这对列表推导有什么用?在每次迭代时,它是否需要到达新列表的末尾以附加新元素?
# For loop:
# O(n*k) (k=number of elements currently in list) time complexity:
new_list = []
for i in range(n): # O(n)
new_list.append(i) # O(k)
# List comprehension:
new_list = [i for i in range(n)] # Is this O(n)?
Run Code Online (Sandbox Code Playgroud)
我搜索过Python文档,Stack Overflow和其他网站,但无法找到有关此内容的任何信息.关于列表推导的更多更高级别的信息有很多资源,但没有类似的具体内容.
如果您无法提供答案,请指导我,或者告诉我如何查看实际的基础Python列表理解代码,以便我可以自己做这个?
python ×10
python-3.x ×9
list ×3
class ×2
boolean ×1
duplicates ×1
function ×1
python-2.7 ×1
python-2.x ×1
random ×1
types ×1