Dec 152020
 

这个其实也是小孩的作业,什么是质数,我也要查一下,确定了2也是质数,就是只有1和本身实现整除。那么这里就要求1到100的质数。

思路当然是构建for循环,让每个数字除比他小的数字,一旦可以整除,就不是质数,全部都不能整除,就是质数。

构建2个for循环。如果x 除比他小的数字,全部都是不能整除,那么if的判断就是 False,那么就执行下面的else,把这个不能数字加入到质数表里。

如果可以整除,那么就是True,那么就break,跳出循环,换下一个x来验证,一个整除,就可以判断不是质数。

list=[]
for x in range (2,101):
    for y in range (2,x):
        if x%y==0:
            break
    else:
        list.append(x)

else:
    print(list)
Dec 152020
 

陪儿子学Python,课后都要做作业,搞得我每次也要陪做作业,终于也明白为啥以前听那么多python课程,还是不会写代码,因为没动手。这次就把一些自己的理解记录一下。

从1加到100,用for循环,可以实现,while,也是可以,大家比较一下两种思路。

sum=0
for i in range (1,101):
    sum=sum+i

else:
    print(sum)

n=1
sum=0
while n < 101:
    sum=sum+n
    n=n+1

else:
    print(sum)

else: 可以理解成程序跑完,最后跑一下下面的内容。其实可以不写,直接print 也是可以。写上,感觉好看很多。

编程就是让小孩明白,一个问题有多种的办法,思路来解决。

Apr 132020
 

儿子开始学Python,对于少儿编程来说,Python如何进行教学,各家是不同的,甚至有把Python外挂搞成类似Scratch那样,适合低龄的儿童。

儿子的少儿培训机构,使用的是Python 3,后续用Pygame进行游戏教学。由于兼容性的问题,目前无法支持Python 3.8,所以就只能安装Python 3.7。

下面就是我记录一下整个过程,查了好多篇文章才搞定。大家可以省事一点,一篇文章解决4个问题。

  1. 安装Python 3.7 in mac
  2. 实现清屏的功能,定制快捷键:Command +L
  3. 调整字体,实现全屏
  4. 添加theme,改变白色背景

Python是支持windows和MacOS,对我来说,为了小孩免受各种广告骚扰的麻烦,我让小孩使用Mac。同样的搜狗拼音,在windows,不停广告,Mac下就非常安静,什么广告都没有。

建议推荐大家给小孩编程,选择Mac Air。

Continue reading »

Jul 302013
 

为了加快devstack脚本的安装速度,所以必须解决PYPI的本地源制作。为了长远打算,把整个python官方都mirror到本地,类似Ubuntu 12.04的源,定期同步就可以。

要想让Devstack几分钟装完,你必须在本地

  • 本地的ubuntu 12.04源
  • 本地Openstack git源
  • 本地PYPI源

我自己不会写代码,这种活,就比较适合我来做,帮助同事提高一下开发环境搭建速度,这是我能做的事情。目前Ubuntu本地源,已经搞定,稳定运行快1年。git Openstack代码,我打算用gitlab来实现,后面再研究,难度不大。这次重点搞定PYPI。

搞一个本地pypi,其实就是安装python的这个包bandersnatch就可以,如果你是在Ubuntu下,那么估计就很简单,对着文档,应该就几分钟就可以搞定。由于我的Cobbler是在Centos下,日后也打算切换到Centos下,所有就希望在Centos 下去搞定,这样就变得很复杂,因为Centos6.x的Python是2.6.6,而这个软件是必须Python 2.7。

下载一个Python2.7,本地安装,本来也不是复杂的事情,不过自己手工安装,导致mirror的时候,出现https无法使用的问题。今天干净安装了一个centos 6.4,重复多次,总算是搞定。这次作法也比较专业,系统里有两个python版本.

2013年7月30日:基本把bandersnatch跑起来。

开发工具

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel \
ncurses-devel sqlite-devel readline-devel tk-devel

Python2.7.5

当前Python的2.7的最新版本是2.7.5

cd /opt
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar zxvf Python-2.7.5.tgz
cd Python-2.7.5
./configure --prefix=/usr/local
make && make altinstall

Python2.7的库

centos默认带的是Python2.6的库,不同的版本有不同的库。

https://pypi.python.org/pypi/distribute

Python的网站,很多都是通过https下载,wget无法直接使用https,懒得折腾,下载本地上传到opt目录下.

cd /opt
unzip distribute-0.7.3.zip
cd distribute-0.7.3
python2.7 setup.py install

安装virtualenv

easy_install-2.7 virtualenv

Bandersnatch

https://pypi.python.org/pypi/bandersnatch/1.0.5

安装过程,其实是参考官方文档

cd /opt
virtualenv-2.7 bandersnatch
cd bandersnatch
bin/pip install -r https://bitbucket.org/ctheune/bandersnatch/raw/stable/requirements.txt

有可能运行出现中断和各种错误,多重复运行几次就ok.

设置bandersnatch

cd /opt/bandersnatch
bin/bandersnatch mirror

会出现一个提示

2013-07-30 12:56:45,925 WARNING: Config file '/etc/bandersnatch.conf' missing,
 creating default config.
2013-07-30 12:56:45,926 WARNING: Please review the config file, 
then run 'bandersnatch' again.

你就编辑 /etc/bandersnatch.conf 文件就可以。默认应该就可以,我也只是修改了一下pypi存放的位置,改成在/home 目录下。

#directory = /srv/pypi
directory = /home/pypi

设置Apache

我只需要把 /home/pypi/web 目录链接到apache目录下显示就可以

ln -s /home/pypi/web /var/www/html/pypi

设置客户端

假设你的Pypi目录是 http://10.1.199.5/pypi

在用户主目录下,

mkdir $HOME/.pip
vi $HOME/.pip/pip.conf

输入下面内容

[global]
index-url = http://10.1.199.5/pypi/simple

 

参考文档

http://toomuchdata.com/2012/06/25/how-to-install-python-2-7-3-on-centos-6-2/

https://pypi.python.org/pypi/bandersnatch

http://blog.csdn.net/xiaoquqi/article/details/9563997

http://www.v2ex.com/t/75316

http://pypi.sdutlinux.org/