相关疑难解决方法(0)

AttributeError:'int'对象没有属性'isdigit'

numOfYears = 0
cpi = eval(input("Enter the CPI for July 2015: "))
if cpi.isdigit():
    while cpi < (cpi * 2):
        cpi *= 1.025
        numOfYears += 1
    print("Consumer prices will double in " + str(numOfYears) + " years.")
while not cpi.isdigit():
    print("Bad input")
    cpi = input("Enter the CPI for July 2015: ")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

AttributeError:'int'对象没有属性'isdigit'

由于我是编程新手,我真的不知道它想告诉我什么.我正在使用它if cpi.isdigit():来检查用户输入的内容是否是有效数字.

python

8
推荐指数
3
解决办法
3万
查看次数

7
推荐指数
2
解决办法
7005
查看次数

在变量列表上尝试所有操作组合

我有一个值列表,如:

values = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想尝试这个列表上的所有组合,如:

1 + 2
1 + 3
1 + 4
1 * 2
1 * 3
1 * 4
1 + 2 * 3
1 + 2 * 4
1 + 3 * 4
Run Code Online (Sandbox Code Playgroud)

等等

以最简洁的方式获得所有这些可能的操作组合的最直接的方法是什么?

我想象有两个列表,[1,2,3,4]和[+,*, - ,/]然后取所有长度的所有组合,然后用所有组合填充空白.

因此,选择[1,2,3],然后选择操作的所有排列并将它们组合在一起.这看起来很混乱,我希望有一个更清晰的方法来编码吗?

python combinations

7
推荐指数
1
解决办法
701
查看次数

创建字典,其中键是变量名

我经常想创建一个字典,其中键是变量名。例如,如果我有变量a并且b我想生成:({"a":a, "b":b} 通常在函数末尾返回数据)。

python中是否有任何(理想情况下内置的)方法可以自动执行此操作?即有一个函数,这样create_dictionary(a,b)返回{"a":a, "b":b}

python python-3.x

7
推荐指数
2
解决办法
1万
查看次数

从环境变量读取Python字典

我正在尝试从环境变量中读取 python 脚本中的字典。

这是我的 python 脚本的代码:

  desired_cap_default = [
        {'platform': 'Windows 7', 'browserName': 'firefox', 'version': '24.0'},
        {'platform': 'OS X 10.10', 'browserName': 'chrome', 'version': '45.0'},
        {'platform': 'Windows XP', 'browserName': 'chrome', 'version': '40.0'},
        {'platform': 'OS X 10.10', 'browserName': 'safari', 'version': '8.0'},
        # {'platform': 'Windows XP', 'browserName': 'firefox', 'version': '10.0', 'screenResolution': '1600x1200',
        # 'videoUploadOnPass': False, 'commandTimeout': 120}
    ]

browser = os.getenv('TESTING_BROWSERS', desired_cap_default)
Run Code Online (Sandbox Code Playgroud)

这就是我指定环境变量的方式(但没有将其识别为字典)

TESTING_BROWSERS="[{'platform': 'Windows 7', 'browserName': 'firefox', 'version': '24.0'}, \
    {'platform': 'OS X 10.10', 'browserName': 'chrome', 'version': '45.0'}, \
    {'platform': 'Windows XP', …
Run Code Online (Sandbox Code Playgroud)

python bash

6
推荐指数
1
解决办法
1万
查看次数

Python:如何在函数的本地范围内运行eval()

我尝试在函数的局部范围内使用eval()。但是,它始终在全局范围内进行评估。

自包含的示例:

1-此代码有效:

var1 = 1
var2 = 2
var3 = 3    
myDict = dict((name, eval(name)) for name in ["var1",
                                              "var2",
                                              "var3"])
print(myDict["var1"])
Run Code Online (Sandbox Code Playgroud)

2-抛出NameErrorlvar1

def test1():
   lvar1 = 1
   lvar2 = 2
   lvar3 = 3
   myDict = dict((name, eval(name)) for name in ["lvar1",
                                                 "lvar2",
                                                 "lvar3"])
   print(myDict["lvar1"])
Run Code Online (Sandbox Code Playgroud)

3-与2相同的结果。

def test2():
    lvar1 = 1
    lvar2 = 2
    lvar3 = 3
    myDict = dict((name, eval(name), locals()) for name in ["lvar1",
                                                            "lvar2",
                                                            "lvar3"])
    print(myDict["lvar1"])
Run Code Online (Sandbox Code Playgroud)

python scope eval

6
推荐指数
2
解决办法
4210
查看次数

从文件中读取列表列表作为python中的列表列表

我以列表列表的形式收集数据,并将数据写入文本文件.文本文件中的数据看起来像

[[123231,2345,888754],[223467,85645]]
Run Code Online (Sandbox Code Playgroud)

我想把它读回来并存储在我的程序列表中.但是当我read()从文件中创建并尝试创建一个平面列表时,它将所有内容都作为一个字符串,并且解释完全改变,并且我无法查询我在阅读作为python中的正常列表列表后获得的结果.

有人可以帮我阅读文件并以与列表列表相同的格式存储吗?

谢谢!

python file list

5
推荐指数
1
解决办法
8150
查看次数

按符号访问操作员功能

我需要一个函数,它将python的运算符符号或关键字之一作为字符串,连同其操作数,对其进行求值,并返回结果.像这样:

>>> string_op('<=', 3, 3)
True
>>> string_op('|', 3, 5)
7
>>> string_op('and', 3, 5)
True
>>> string_op('+', 5, 7)
12
>>> string_op('-', -4)
4
Run Code Online (Sandbox Code Playgroud)

不能认为该字符串是安全的.我只对映射二元运算符感到满意,但如果能得到所有这些运算符,我会非常高兴.

我当前的实现手动将符号映射到运算符模块中的函数:

import operator

def string_op(op, *args, **kwargs):
    """http://docs.python.org/2/library/operator.html"""
    symbol_name_map = {
        '<': 'lt',
        '<=': 'le',
        '==': 'eq',
        '!=': 'ne',
        '>=': 'ge',
        '>': 'gt',
        'not': 'not_',
        'is': 'is_',
        'is not': 'is_not',
        '+': 'add', # conflict with concat
        '&': 'and_', # (bitwise)
        '/': 'div',
        '//': 'floordiv',
        '~': 'invert',
        '%': 'mod',
        '*': …
Run Code Online (Sandbox Code Playgroud)

python functional-programming idioms

5
推荐指数
1
解决办法
1407
查看次数

jinja2:将字符串转换为 dict 对象?

我有一个 json 字符串存储在数据库中,当它被拉出并显示在模板上时,它是一个字符串。我想将其转换为字典对象,以便我可以直接访问内容。

字符串 = "{'a':1, 'b':3}"

{{ obj }} ---> 字符串 "{'a':1, 'b':3}"

{{ obj.b }} ---> 我想像对象一样访问它。

python jinja2 flask

5
推荐指数
1
解决办法
2万
查看次数

在python中从两个字符串创建变量名

我想从Python中的两个字符串创建一个变量名,例如:

 a = "column_number"
 b = "_url1"
Run Code Online (Sandbox Code Playgroud)

然后能够获得"column_number_url1"我可以使用的变量名称.

我很欣赏这一般不是一个好主意 - 有很多帖子说明为什么这是一个坏主意(例如我如何创建可变数量的变量?,创建多个变量) - 我主要希望能够做到因为这些都是在代码中的其他地方定义的变量,并且想要一种能够重新访问它们的简单方法(即,而不是创建数以千计的唯一变量,我同意字典等会更好) .

据我所知,我发现的其他帖子中的答案都是替代方法,而不是如何从两个字符串创建变量名称.

python python-2.7

5
推荐指数
1
解决办法
6655
查看次数