1. 输入 i = int(raw_input('input gain:\n')) 或 input 详细 http://blog.csdn.net/carolzhang8406/article/details/6093537
2. 输出 print 'bonus = ', bonus
3. if else 语句
if i <= 10000:
bonus = i * 0.1
elif i < 20000:
bonus = i * 2000
else:
bonus = 10000 * 0.1 + (i - 100000) * 0.075
如果你写import math
那么在程序中你得写:math.sqrt
4. 用print输出多个变量可以用 , 隔开。
print x y z 是不可以的
print x, y, z 是ok的
格式化输出 print "%-5d" % n
多个变量一起格式化输出时: 'char = %d, space = %d, digit = %d, others = %d' % (letters, space, digit, others)
5.
l = [x]
l.append()
l.sort()
print l
>>> [2, 5, 7]
6. 连着输出 10个 * : print '*' * 10
试了下, 一个 print 语句 后面 加不加 \n 都是默认换行的呢
7. chr( 97) 求出 ASCII 为 97的字符
ord('a') 求a的ascii值
8. range
>>> for i in range(1, 5):
print i ,
1 2 3 4
>>> for i in range(5):
print i ,
0 1 2 3 4
>>>
九九乘法:
for i in range(1, 10):
for j in range(1, i + 1):
print '%d * %d = %d' % (i, j, i * j),
print '\n'
sys.stdout.write
可以输出一行数据,不会默认自动换行了。。。
需要 import sys
9. pythonwin 运行 出现 systax error 时,可能出现了语法错误 如 for m in range(101, 201): 写成 from m in range(101, 201):
这个时候,光标会停在错误的一行。
10 , 将一个正整数分解质因数
k = int(raw_input("input\n"))
print k, '=',
for i in range(2, k + 1):
while k != i:
if k % i == 0:
print i,
print '*',
k = k / i
else:
break
print k
11. python 中不支持 ? : 运算符
12. python 也不支持 自增 ++ 和 自减 --
13. 一个例子:
str = raw_input('input a string\n')
letters = 0
space = 0
digit = 0
others = 0
for c in str:
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print 'char = %d, space = %d, digit = %d, others = %d' % (letters, space, digit, others)
首先,输入前面不加 int() 的时候,就是不强转,是一个字符串。 <