循环使用 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
如果遇到其他错误,一般都是格式缩进不正确,请仔细检查