题目:给一个不多于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。
|