# xylz,imxylz

:: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
 111 随笔 :: 10 文章 :: 2680 评论 :: 0 Trackbacks

 2-5. Loops and Numbers. Create some loops using both while and for. Write a loop that counts from 0 to 10 using a while loop. (Make sure your solution really does count from 0 to 10, not 0 to 9 or 1 to 10.) Do the same loop as in part (a), but use a for loop and the range() built-in function.

1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3 #\$Id: p0205.py 121 2010-04-19 15:20:40Z xylz \$
4
5 '''
6 This is a 'python' study plan for xylz.
8 '''
9
10 if __name__ == '__main__':
11     '''
12     print 0 to 10 with while loop or for loop
13     '''
14     i=0
15     print "using while: ".rjust(15),
16     while(i<=10):
17         print i,
18         i+=1
19     print
20
21     i=0
22     print "using for: ".rjust(15),
23     for i in range(11):
24         print i,
25     print
26
27     del i
28

 2-6. Conditionals. Detect whether a number is positive, negative, or zero. Try using fixed values at first, then update your program to accept numeric input from the user.
1#!/usr/bin/env python
2#-*- coding:utf-8 -*-
3#\$Id: p0206.py 120 2010-04-19 15:20:05Z xylz \$
4
5'''
6This is a 'python' study plan for xylz.
8'''
9
10if __name__ == '__main__':
11    '''
12    Detect whether a number is positive, negative, or zero.
13    '''
14
15    s=raw_input("input a number ('quit' or 'exit' for over): ")
16    while s != 'exit' and s != 'quit':
17        try:
18            i=int(s)
19            if i > 0:print "you enter(positive): %d > 0" % i
20            elif i <0 :print "you enter(negative): %d < 0" %i
21            else:print "you enter(zero): %d = 0" %i
22        except ValueError,e:
23            print "Error! Not a Integer"
24        s=raw_input("input a number ('quit' or 'exit' for over): ")
25
26

 2-7. Loops and Strings. Take a user input string and display string, one character at a time. As in your above solution, perform this task with a while loop first, then with a for loop.

1#!/usr/bin/env python
2#-*- coding:utf-8 -*-
3#\$Id: p0207.py 122 2010-04-19 15:31:21Z xylz \$
4
5'''
6This is a 'python' study plan for xylz.
8'''
9
10import sys
11from datetime import time
12import time
13
14if __name__ == '__main__':
15    '''
16    Get a string from terminal and print it one by one.
17    '''
18    while True:
19        s = raw_input("input a string ('quit' or 'exit' for over). \n>>")
20        if s == 'exit' or s == 'quit':break
21        if s:
22            i=0
23            while i < len(s):
24                c=s[i]
25                sys.stdout.write(c)
26                time.sleep(0.1)
27                i+=1
28            print
29            for c in s:
30                sys.stdout.write(c)
31                time.sleep(0.1)
32            print
33
34

 2-8. Loops and Operators. Create a fixed list or tuple of five numbers and output their sum. Then update your program so that this set of numbers comes from user input. As with the problems above, implement your solution twice, once using while and again with for.

1#!/usr/bin/env python
2#-*- coding:utf-8 -*-
3#\$Id: p0208.py 123 2010-04-19 15:34:50Z xylz \$
4
5'''
6This is a 'python' study plan for xylz.
8'''
9
10import sys
11
12if __name__ == '__main__':
13    '''
14    Get file number from terminal and print the sum and avg.
15    '''
16    listdata = [0,0,0,0,0]
17    index,v=0,0
18    while True:
19        s = raw_input("Input a Number ('quit' or 'exit' for over). \n>>")
20        if s == 'exit' or s == 'quit':sys.exit(0)
21        try:
22            v=float(s)
23            listdata[index] = v
24            index += 1
25            if index == len(listdata):break
26        except ValueError,e:
27            print e
28            print "Error! Not a number. ",
29
30    tupdata = tuple(listdata)
31
32    (index,tupsum,listsum) = (0,0.0,0.0)
33    while index<len(listdata):
34        tupsum+=tupdata[index]
35        index+=1
36
37    for i in listdata:
38        listsum+=i
39
40    print "tupsum: %.2f, avg: %.2f" % (tupsum,tupsum/len(listdata))
41    print "listsum: %.2f, avg: %.2f" % (listsum,listsum/len(listdata))
42
 2-15. Elementary Sorting. Have the user enter three numeric values and store them in three different variables. Without using lists or sorting algorithms, manually sort these three numbers from smallest to largest. How would you change your solution in part (a) to sort from largest to smallest?

1#!/usr/bin/env python
2#-*- coding:utf-8 -*-
3#\$Id: p0215.py 124 2010-04-19 15:39:29Z xylz \$
4
5'''
6This is a 'python' study plan for xylz.
8'''
9
10import sys
11
12if __name__ == '__main__':
13    '''
14    Get some Integers and print it those are sorted.
15    '''
16    data=[]
17    while True:
18        s = raw_input("Input a Integer ('exit' for over, 'quit' for sort). \n>>")
19        if s == 'exit':sys.exit(0)
20        elif s == 'quit':break
21
22        try:
23            v=int(s)
24            data.append(v)
25        except ValueError,e:
26            print "Error! Not a number. ",
27    for i in range(0,len(data),1):
28        for j in range(i+1,len(data),1):
29            if data[i] > data[j]: data[i],data[j] = data[j],data[i]
30    print "-->: ",
31    for i in data:
32        print i,
33    print
34
35    print "<--: ",
36    for m in data[::-1]:
37        print m,
38    print
39
40