小编Jim*_*ard的帖子

为什么math.sqrt()被称为函数?由于点访问通常用于方法.是什么让math.sqrt()成为一个函数?

作为一个例子:math.sqrt()被认为是一个函数但是,"Lower".upper()被称为.upper() 方法.

为什么是math.sqrt功能?点访问不是指示方法吗?

python function python-2.7 python-3.x

0
推荐指数
1
解决办法
61
查看次数

Python 3用type()识别float

这是我在麻省理工学院开放式课程计算机科学第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 types python-3.x

0
推荐指数
1
解决办法
103
查看次数

使用 isinstance 从列表中删除 false 时出现问题

所以,我正在尝试从 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]

任何帮助解决这个问题的帮助将不胜感激!

python boolean list python-3.x

0
推荐指数
1
解决办法
1522
查看次数

随机调用要执行的函数

我做了这个简短的问卷调查:

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 random python-2.x

0
推荐指数
1
解决办法
119
查看次数

Python中的类变量问题

我是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 class python-3.x

0
推荐指数
1
解决办法
38
查看次数

如何从列表,元组或字符串中获取随机项?

我是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)

但如上所述,它引发了一个错误.

我可能以错误的方式使用它,所以如果我的方法有任何更正或任何其他替代方式我可以从列表,字符串和元组中获取随机项目,我会欢迎所有的建议.

谢谢.

python python-3.x

0
推荐指数
1
解决办法
603
查看次数

为什么我们要在 python 中反转字符串时使用 join() 函数

什么是目的'。加入() 在这里

print(''.join(reversed(a)))
Run Code Online (Sandbox Code Playgroud)

我们不能只用反转函数反转字符串吗

print(reversed("python"))
Run Code Online (Sandbox Code Playgroud)

python python-3.x

0
推荐指数
1
解决办法
745
查看次数

合并班级成员

给定这样的类结构:

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().)

python class python-3.x

0
推荐指数
1
解决办法
55
查看次数

两个列表之间没有重复的共同元素

问题是这样,拿两个清单,例如说这两个:

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 list duplicates python-3.x

0
推荐指数
1
解决办法
4873
查看次数

Python列表推导是否会在每次迭代时附加?

我试图理解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 list python-3.x

0
推荐指数
1
解决办法
158
查看次数