天天看点

Python学习初级编程

循环使用 else 语句

在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

实例

#!/usr/bin/python

count = 0

while count <5:  

print count, " is less than 5"  

count = count + 1

else:  

print count, " is not less than 5"

以上实例输出结果为:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5      

numbers=[1,2,3,4,5]

even=[ ]

odd=[ ]

while len(numbers)>0:

        number=numbers.pop()

     if(number%2==0):

       even.append(number)

    else:

       odd.append(number)

猜大小的游戏

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import random
s = int(random.uniform(1,10))
#print(s)
m = int(input('输入整数:'))
while m != s:
    if m > s:
        print('大了')
        m = int(input('输入整数:'))
    if m < s:
        print('小了')
        m = int(input('输入整数:'))
    if m == s:
        print('OK')
        break;      

猜拳小游戏

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import random
while 1:
    s = int(random.randint(1, 3))
    if s == 1:
        ind = "石头"
    elif s == 2:
        ind = "剪子"
    elif s == 3:
        ind = "布"
    m = raw_input('输入 石头、剪子、布,输入"end"结束游戏:')
    blist = ['石头', "剪子", "布"]
    if (m not in blist) and (m != 'end'):
        print "输入错误,请重新输入!"
    elif (m not in blist) and (m == 'end'):
        print "\n游戏退出中..."
        break
    elif m == ind :
        print "电脑出了: " + ind + ",平局!"
    elif (m == '石头' and ind =='剪子') or (m == '剪子' and ind =='布') or (m == '布' and ind =='石头'):
        print "电脑出了: " + ind +",你赢了!"
    elif (m == '石头' and ind =='布') or (m == '剪子' and ind =='石头') or (m == '布' and ind =='剪子'):
        print "电脑出了: " + ind +",你输了!"      

测试结果:

输入 石头、剪子、布,输入"end"结束游戏:石头
电脑出了: 石头,平局!
输入 石头、剪子、布,输入"end"结束游戏:石头    
电脑出了: 剪子,你赢了!
输入 石头、剪子、布,输入"end"结束游戏:      

摇筛子游戏

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import random
import sys
import time

result = []
while True:
    result.append(int(random.uniform(1,7)))
    result.append(int(random.uniform(1,7)))
    result.append(int(random.uniform(1,7)))
    print result
    count = 0
    index = 2
    pointStr = ""
    while index >= 0:
        currPoint = result[index]
        count += currPoint
        index -= 1
        pointStr += " "
        pointStr += str(currPoint)
    if count <= 11:
        sys.stdout.write(pointStr + " -> " + "小" + "\n")
        time.sleep( 1 )   # 睡眠一秒
    else:
        sys.stdout.write(pointStr + " -> " + "大" + "\n")
        time.sleep( 1 )   # 睡眠一秒
    result = []      

十进制转二进制

#!/usr/bin/python
# -*- coding: UTF-8 -*-

denum = input("输入十进制数:")
print denum,"(10)",
binnum = []
# 二进制数
while denum > 0:
    binnum.append(str(denum % 2)) # 栈压入
    denum //= 2
print '= ',
while len(binnum)>0:
    import sys
    sys.stdout.write(binnum.pop()) # 无空格输出print ' (2)'      

while循环 - 九九乘法表

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#九九乘法表

i = 1
while i :
    j = 1
    while j:
        print j ,"*", i ," = " , i * j , '  ',
        if i == j :
            break

        j += 1
        if j >= 10:
            break
    
    print "\n"
    i += 1
    if i >= 10:
        break      

如果遇到错误:NameError: name 'raw_input' is not defined

原因出在raw_input ,python3.0版本后用input替换了raw_input

如果遇到其他错误,一般都是格式缩进不正确,请仔细检查

Python学习初级编程

继续阅读