异度部落格

学习是一种生活态度。

0%

int()是 Python 的一个内部函数

Python 系统帮助里面是这么说的

>>> help(int)
Help on class int in module __builtin__:
class int(object)
| int(x[, base]) -> integer
|
| Convert a string or number to an integer, if possible. A floating point
| argument will be truncated towards zero (this does not include a string
| representation of a floating point number!) When converting a string, use
| the optional base. It is an error to supply a base when converting a
| non-string. If base is zero, the proper base is guessed based on the
| string content. If the argument is outside the integer range a
| long object will be returned instead.
>>> int(12.0)
12

int()函数可以将一个数转化为整数

>>> int('12',16)
18

这里有两个地方要注意:1)12 要以字符串的形式进行输入,如果是带参数 base 的话

2)这里并不是将 12 转换为 16 进制的数,而是说 12 就是一个 16 进制的数,int()函数将其用十进制数表示,如下

>>> int('0xa',16)
10
>>> int('10',8)
8

今天写的这个文本文件合并,基本上是把昨天写的那个两个脚本合并起来了,详见代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'mergeTextFile--用于合并两个文本文件'
import os
#输入两个文件名
while True:
file1 = raw_input('输入要合并的第一个文件名:')
if not os.path.exists(file1):
print '文件不存在'
continue
else :
break

while True:
file2 = raw_input('输入要合并的第二个文件名:')
if not os.path.exists(file2):
print '文件不存在'
continue
else :
break
#打开两个文件
contents = []
try :
fobj = open(file1, 'r')
except IOError, error :
print ' %s 打开失败:%s' % (file1,error)
else :
for eachline in fobj :
print eachline
contents.append(eachline)
fobj.close()
try :
fobj = open(file2, 'r')
except IOError, error :
print ' %s 打开失败:%s' % (file2,error)
else :
for eachline in fobj :
print eachline
contents.append(eachline)
fobj.close()
#创建合并文件
while True:
merge = raw_input('输入要合并后新文件名:')
if os.path.exists(merge):
print '文件已存在'
continue
else :
break
fobj = open(merge, 'w')
fobj.writelines(['%s%s' % (eachline, os.linesep) for eachline in contents])
fobj.close()

这个程序主要可以实现创建一个文本文件 makeTextFile.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'makeTextFile.py--创建一个文本文件'
import os
#输入文件名
while True :
filename = raw_input('输入文件名')
if os.path.exists(filename) :
print 'ERROR: %s already exists' % filename
else :
break

#输入文件内容
contents = []
print '/n输入每行文本,以#结束'
while True :
entry = raw_input('> ')
if entry == '.' :
break
else :
contents.append(entry)

#写入文件
fobj = open(filename, 'w')
fobj.writelines(['%s%s' % (eachline, os.linesep) for eachline in contents])
fobj.close()
print 'Done!'

这个用来显示 readTextFile.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'readTextFile.py--读取显示文本文件'
#获取文件名
filename = raw_input('输入文件名:')
#打开文件
try :
fobj = open(filename, 'r')
except IOError, error:
print ' %s 打开失败:%s' % (filename,error)
exit()
else :
#显示文本
for eachline in fobj :
print eachline
#文件关闭
fobj.close()

#2-2启动交互解释器,使用Python对两个数值(任意类型)进行加、减、乘、除运算。然后使用取余运算符来
#得到两个数相除的余数, 最后使用乘方运算符求A 数的B 次方。
#!/usr/bin/python
a = 8
b = 5
print 'a + b = %d' % (a + b)
print 'a - b = %d' % (a - b)
print 'a * b = %d' % (a * b)
print 'a / b = %d' % (a / b)
print 'a mod b = %d' % (a % b)
print 'a ^ b = %d' % (a ** b)
#2–4. 使用raw_input()函数得到用户输入
#(a) 创建一段脚本使用 raw_input() 内建函数从用户输入得到一个字符串,然后显示这个
#用户刚刚键入的字符串。
#(b) 添加一段类似的代码,不过这次输入的是数值。将输入数据转换为一个数值对象,(使
#用int()或其它数值转换函数) 并将这个值显示给用户看。(注意,如果你用的是早于1.5 的版
#本,你需要使用string.ato*() 函数执行这种转换)
#!/usr/bin/python
str = raw_input('Input a string:')
print str
num = raw_input('input a number:')
print int(num)
#2–5. 循环和数字
#分别使用while 和for 创建一个循环:
#(a) 写一个while 循环,输出整数从0 到10。(要确保是从0 到10, 而不是从0 到9 或从1 到10)
#(b) 做同 (a) 一样的事, 不过这次使用 range() 内建函数。
#!/usr/bin/python
i = 0
while i <= 10 :
print i
i += 1
print
for i in range(10) :
print i
#2–6. 条件判断 判断一个数是正数,还是负数, 或者等于0. 开始先用固定的数值,然后修改你的代码支持用户输入数值再进行判断。
#!/usr/bin/python
num = raw_input('Input a number:')
num = int(num)
if num > 0 :
print 'The Number is a Positive Number'
elif num < 0:
print 'The Number is a Negative Number'
else :
print 'The Number is Zero'
#2–7.
#循环和字串 从用户那里接受一个字符串输入,然后逐字符显示该字符串。先用while 循环实现,然后再用 for 循环实现。
#!/usr/bin/python
str = raw_input('Input a string:')
i = 0;
while i < len(str) :
print str[i]
i += 1

for c in str :
print c
#2–8. 循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的和。然后修
#改你的代码为接受用户输入数值。 分别使用while 和for 循环实现。
#!/usr/bin/python
print 'Input five numbers:'
i = 0
sum = 0
while i < 5 :
num = raw_input()
sum += int(num)
i += 1

print 'The Sum is: %d' % sum
#2–9.
#循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的平均值。本练习的难
#点之一是通过除法得到平均值。 你会发现整数除会截去小数,因此你必须使用浮点除以得到更
#精确的结果。 float()内建函数可以帮助你实现这一功能。
#!/usr/bin/python
print 'Input five numbers:'
i = 0
sum = 0.0
while i < 5 :
num = raw_input()
sum += float(num)
i += 1
avg = sum / 5
print 'The Average is: %f' % avg
#2–10.
#带循环和条件判断的用户输入 使用raw_input()函数来提示用户输入一个1 和100 之间的
#数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示
#用户输入数值,直到满足条件为止。
#!/usr/bin/python
while 1 :
num = raw_input('Input a number(1-100):')
num = int(num)
if (num >= 0) and (num <= 100) :
print 'Inut Success'
break
else :
print 'Input Again'
#2–11.
#带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个
#数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序
#结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本
#!/usr/bin/python
i = 0
sum = 0
print 'Input five numbers:'
while i < 5:
num = raw_input()
sum += float(num)
i += 1

while 1:
print '1.Sum'
print '2.Average'
print 'x.Exit'
select = raw_input('Input your select:')
if select == '1' :
print 'The Sum is %d' % sum
elif select == '2' :
avg = sum / 5
print 'The Average is %f' % avg
else :
break;

今天终于拿出 Python 核心编程开始学习 Python,一切语言都是由 helloworld 开始的,下面这个就是 Python 版本的

print 'Hello World!'

这语法..要多简单有多简单,要多暴力有多暴力

1)安装 Python

Python 下载地址: http://www.python.org/download/ 下载 Python 2.6.5 Windows installer

2)PyQt 安装

pyqt 下载地址:http://www.riverbankcomputing.co.uk/software/pyqt/download 下载 Python 相对应的版本 PyQt-Py2.6-gpl-4.7.3-2.exe 安装在与 Python 相同目录下

3)安装 Eric

运行 python install.py,要是出错,把 PyQt 和 Python 环境变量加上

4)运行 eric 目录下的 eric4.pyw 或 eric4.bat

程序在 Qt Creator 的 Release 下运行得好好的,可是一拿出来就不行了,之后我也拷了相应的库还是不行,加了环境变量也不行。提示说:程序找不到输入点 XXX QtCore4.dll。

解决方法: 库是肯定要拷的,关键是考哪个库的问题了,QtCore 和 QtGui 主要是这两个,这两个要拷 Qt/qt/bin 目录下面的,因为 Qt/bin 下面也有,所以这个地方要注意,要拷的库不正确就会出现这个问题。

下面这些库是 windows 下发布 Qt 必须的: mingwm10.dll libgcc_s_dw2-1.dll QtGui4.dll QtCore4.dll

其他的自己添加就 ok 了

<html>
<head><title>Test for PHP</title></head>
<body>
<?php
echo "<h1>Hello World</h1>/n";
?>
</body>
</html>

安装 Apache

sudo apt-get install apache2

安装 PHP5

sudo apt-get install php5

安装 MySQL

sudo apt-get install mysql-server mysql-common mysql-admin

安装 PHP-MySQL 驱动

sudo apt-get install php5-mysql

在浏览器中输入:http://localhost 查看

站点的程序默认在:/var/www/ apache 配置文件在:/etc/apache2 php 配置文件在:/etc/php5/

这个要是用 Qt 或者 MFC 等图形库估计很容易就实现了,可是用字符界面还是很麻烦的,具体看代码

#include <iostream>
#include <string>
#include <ctime>
using namespace std;
string num[5][11] = {"****", " *", "****", "****", "* *", "****", "****", "****", "****", "****", " ",
"* *", " *", " *", " *", "* *", "* ", "* ", " *", "* *", "* *", " * ",
"* *", " *", "****", "****", "****", "****", "****", " *", "****", "****", " ",
"* *", " *", "* ", " *", " *", " *", "* *", " *", "* *", " *", " * ",
"****", " *", "****", "****", " *", "****", "****", " *", "****", "****", " "};

int main()
{
int i,j;
/*for(i= 0;i <a href="http://grandruby.co.uk/tips-on-choosing-the-best-poker-rooms">online casinos</a> < 10; i ) {
for(j = 0; j < 10; j ) {
cout << num[i][j] << " ";
}
cout << endl;
}
cout << endl << endl;*/

time_t t= time(0);
tm *curtime = localtime(&t);

int hour = curtime->tm_hour;
int min = curtime->tm_min;
int sec = curtime->tm_sec;
cout << hour << ":" << min << ":" << sec << endl;
cout << endl;

int timeArray[8];
timeArray[0] = hour / 10;
timeArray[1] = hour % 10;
timeArray[2] = 10;
timeArray[3] = min / 10;
timeArray[4] = min % 10;
timeArray[5] = 10;
timeArray[6] = sec / 10;
timeArray[7] = sec % 10;

for(i = 0; i < 5; i ) {
for(j = 0; j < 8; j ) {
cout << num[i][timeArray[j]] << " ";
}
cout << endl;
}
return 0;
}

这里用到两个函数 time 和 localtime,两个函数包含与 time.h 里面 time_t time( time_t time ); 功能: 函数返回当前时间,如果发生错误返回零。如果给定参数 time ,那么当前时间存储到参数 time 中。 struct tm gmtime( const time_t *time ); 功能:函数返回给定的统一世界时间(通常是格林威治时间),如果系统不支持统一世界时间系统返回 NULL。

PS:C 语言果然博大精深....