小编Meh*_*far的帖子

Python斐波纳契生成器

我需要制作一个程序,询问打印的Fibonacci数量,然后将它们打印出来,如0,1,1,2 ...但我无法让它工作.我的代码看起来如下:

a = int(raw_input('Give amount: '))

def fib():
    a, b = 0, 1
    while 1:
        yield a
        a, b = b, a + b

a = fib()
a.next()
0
for i in range(a):
    print a.next(),
Run Code Online (Sandbox Code Playgroud)

python naming-conventions fibonacci

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

有没有办法将“字符串数组”设置为函数中参数的类型?

我想在将参数传递给函数时检查参数是否是字符串数组。

就像将函数参数的类型设置为“字符串数组”一样。但我不想循环遍历数组寻找非字符串元素。

有这样的类型吗?

python parameters types list

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

Python中Enum和IntEnum之间的区别

我遇到了一个看起来像这样的代码:

class State(IntEnum):
    READY = 1
    IN_PROGRESS = 2
    FINISHED = 3
    FAILED = 4
Run Code Online (Sandbox Code Playgroud)

我得出的结论是,这个State类可以Enum以相同的方式继承该类。

从继承继承IntEnum给我的东西是什么,而从常规类继承不会给我带来Enum什么呢?它们之间有什么区别?

python enums python-3.x

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

获取sqlalchemy基类对象而不是子对象

我的模型中有三个类,其中一个类由另外两个继承:

class Item(Base):
    __tablename__ = 'item'

    id = Column(Integer, primary_key=True)
    title = Column(Unicode(300))
    type = Column(Unicode(50))

    __mapper_args__ = {
        'polymorphic_on': type
    }


class Note(Item):
    __tablename__ = 'note'

    id = Column(Integer, ForeignKey('item.id'), primary_key=True)
    extra = Column(Text)

    __mapper_args__ = {
        'polymorphic_identity': 'note'
    }


class Task(Item):
    __tablename__ = 'task'

    id = Column(Integer, ForeignKey('item.id'), primary_key=True)
    another_extra = Column(Text)

    __mapper_args__ = {
        'polymorphic_identity': 'task'
    }
Run Code Online (Sandbox Code Playgroud)

所以,当我执行session.query(Item).all()我得到既包括列表NoteTask对象,但我不希望这样,我希望我的对象是实例Item类,只是有id,title,type,而不是那些额外的字段.我该怎么写这个查询?

澄清更多,目前,我得到:

[
     <models.Note object at …
Run Code Online (Sandbox Code Playgroud)

python inheritance sqlalchemy python-3.x

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

创建一个运行python脚本的跨平台协议助手

我想在OS X,Linux和Windows上注册一个协议处理程序,比如"myapp:",这样当有人在Web浏览器中单击"myapp:// some/params"这样的URL时,就会出现一个python脚本将被召唤并通过这些参数.

显然,这需要在每台机器上安装一些东西来启用它,但只是试图找到一种方法使其在所有三个平台上都能运行.

python url cross-platform

6
推荐指数
0
解决办法
381
查看次数

Django 用户模型用户名(unique=False)

我看过很多解决方案,但似乎没有一个能回答问题。

我的用户模型现在正在使用 AbstractUser。有没有办法让用户名(unique = False)

因为我想让用户能够重复使用相同的用户名,因为我使用的登录是通过电子邮件地址和密码

下面是我尝试过但不起作用的代码。

代码:

class MyUser(AbstractUser):
    username = models.CharField(max_length=30, unique=False)
Run Code Online (Sandbox Code Playgroud)

错误:

customuser.MyUser: (auth.E003) 'MyUser.username' must be unique because it is named as the 'USERNAME_FI ELD'

python django

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

input()调用在字符串中的自定义位置键入文本的位置

这实际上是我一年前开始学习Python以来的一个问题.它是以下内容:如何调用该 input函数并让用户在除结尾之外的某个位置键入其条目prompt

澄清一下,说我有字符串

'Enter file size: MB'
Run Code Online (Sandbox Code Playgroud)

当调用时,我希望文本插入如下:

Enter file size: 62 MB
Run Code Online (Sandbox Code Playgroud)

是否可以在函数调用中重新创建此行为,如下所示?

input('Enter file size: {} MB')
# where Python would interpret
# the {} as the position to input text
Run Code Online (Sandbox Code Playgroud)

python input python-3.x

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

使用列表推导查找列表中的元素,其中列表中的所有元素都是因子

我有一个数字列表,我从中提取了所有这些数字的常见因素.例如,从列表中b = [16, 32, 96],我已经制作了list_of_common_factors = [1, 8, 16, 2, 4].

我有另一个整数列表,a我希望提取list_of_common_factors所有元素a都是因子的数字.所以,如果a = [2, 4],那么我应该最终得到[4, 8, 16],因为这些是list_of_common_factors2和4是因子的数字.

但是,我正在努力弄清楚如何在列表解析中实现这一步骤,即使在伪代码中也是如此.看起来应该是这样的:[x for x in list_of_common_factors if all elements of a are factors of x].这是if语句我遇到了麻烦,因为我认为它应该包含一个for循环,但我想不出一个简洁的方法来编写它.

我已经设法做了很长的路,使用嵌套的for循环,它看起来像这样:

between_two_lists = []
# Determine the factors in list_of_common_factors of which all elements of a are factors.
for factor in list_of_common_factors:
    # Check that all a[i] are factors of factor. …
Run Code Online (Sandbox Code Playgroud)

python for-loop if-statement list-comprehension list

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

如何正确更改表默认值

我不明白为什么我的 alter table 查询会引发错误。目前,这是一个 (DATETIME) 列,默认值为 NULL。

我的愿望是改变它,以便在我更新一行时自动填充日期时间值。我正在尝试编写一个更改语句,但我无法弄清楚为什么我的会抛出错误。

我的改变声明

ALTER TABLE `mydb`.`orders` CHANGE COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}';
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

16:28:34    ALTER TABLE `mydb`.`orders` CHANGE COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}'  Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}'' at line 1  0.00041 sec
Run Code Online (Sandbox Code Playgroud)

我使用的是 …

mysql

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

BottomNavigationBar 页面更改导致 StreamBuilder 数据重新加载

BottomNavigation我有 2 页。第一页从网络加载数据并显示在 SliverList 和显示静态列表数据的另一个页面中。

从第 1 页移动到第 2 页然后第 1 页后,所有网络数据都消失了。我已经使用了 PageStorageKey,但仍然无法正常工作。但第二页从未重新加载。

为什么第一页没有保存其具有 StreamBuilder 的状态?

我的代码:

底部导航页面:

class MainActivity extends StatefulWidget {
  @override
  _MainActivityState createState() => _MainActivityState();
}

class _MainActivityState extends State<MainActivity> {

  final Key keyHome = PageStorageKey('pageHome');
  final Key keyChat = PageStorageKey('pageChat');

  int currentTab = 0;

  HomePage home;
  Chat chat;
  List<Widget> pages;
  Widget currentPage;

  final PageStorageBucket bucket = PageStorageBucket();
  @override
  void initState(){
    home = HomePage(

      key: keyHome,
    );
    chat = Chat(
      key: keyChat,
    );
    pages = …
Run Code Online (Sandbox Code Playgroud)

flutter bloc

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