题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
1. 程序分析:学会分解出每一位数,如下解释.
2.程序源代码:
x = int(raw_input("input a number:\n")) a = x / 10000 b = x % 10000 / 1000 c = x % 1000 / 100 d = x % 100 / 10 e = x % 10 if a != 0: print "there are 5 ",e,d,c,b,a elif b != 0: print "there are 4 ",d,c,b,a elif c != 0: print "there are 3 ",e,d,c elif d != 0: print "there are 2 ",e,d else: print "there are 1",e
raw_input()用法
raw_input()是Python2.X版本中的函数,在Python3.X中已经无法使用。raw_input()用于获取用户(控制台)输入,且raw_input()将所有输入都当成字符串看待。在Python3.X中input()代替了raw_input()。
raw_input() 一般用于获取用户的字符串输入并赋值给某个变量。
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
1.程序分析:学会分解出每一位数
2.程序源代码:
x = int(raw_input("input a number:\n")) x = str(x) for i in range(len(x)/2): if x[i] != x[-i - 1]: print 'this number is not a huiwen' break print 'this number is a huiwen'
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2.程序源代码:
sys.stdin是一个标准化输入的方法。
python3中使用sys.stdin.readline()可以实现标准输入,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换。
python3中sys.stdin与input的区别
- input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。
可以看一个简单的例子:
from sys import stdin letter = stdin.read(1) stdin.flush() while letter != 'Y': if letter == 'S': print 'please input second letter' letter = stdin.read(1) stdin.flush() if letter == 'a': print 'Saturday' elif letter == 'u': print 'Sunday' else: print 'data error' break elif letter == 'F': print 'Friday' break elif letter == 'M': print 'Monday' #break elif letter == 'T': print 'please input second letter' letter = stdin.read(1) stdin.flush() if letter == 'u': print 'Tuesday' elif letter == 'h': print 'Thursday' else: print 'data error' break elif letter == 'W': print 'Wednesday' else: print 'data error' letter = stdin.read(1) stdin.flush()
题目:求100之内的素数
1.程序分析:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
2.程序源代码:
from math import sqrt if __name__ == '__main__': N = 100 a = range(0,N) for i in range(2,int(sqrt(N))): for j in range(i + 1,N): if (a[i] != 0) and (a[j] != 0): if a[j] % a[i] == 0: a[j] = 0 print for i in range(2,N): if a[i] != 0: print "%5d" % a[i] if (i - 2) % 10 == 0: print
Python中for in range ()是循环的次数的意思。
python中range 是个函数,range() 函数可创建一个整数列表,python中用来在for循环中遍历。
用法如: for i in range (1,3)。
语法格式:range(start, stop[, step]),分别是起始、终止和步长。
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
range函数介绍
range()函数返回的对象的行为都很像一个列表,但是它确实不是一个列表,它只是在循环迭代的情况下返回指定索引的值,但是它并不会在内存中真正产生一个列表对象,这样也是为了节约内存空间。
for i in range()实际用法分以下几种情况:
1.for in range(3)即:从0到3,不包含3,即0,1,2。
2.for in range(1,3) 即:从1到3,不包含3,即1,2。
3.for in range(1,3,2)即:从1到3,每次增加2,因为1+2=3,不包含3,即1。第三个数字2是代表步长,如果不设置,就是默认步长为1。