2-1-1 Python while 循环语句练习(版本:py3)

目录

一、猜大小游戏

二、猜拳小游戏

三、摇筛子游戏

四、十进制转二进制

五、while循环 - 九九乘法表

六、Pyhton 去除字符串首尾的空格:


一、猜大小游戏

#!/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 +",你输了!"

修改后的程序

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

import random
while 1:
    s = int(random.randint(0, 2))
    list = ["石头", "剪子", "布"]
    ind = list[s]
    m = 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 +",你输了!")

三、摇筛子游戏

#!/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(i,"*",j,"=",i*j,'  ',) #最后一个逗号为了下面\n做铺垫
        if i == j: #如果i=j则跳出while内循环,否则进入j+=1
            break
        j += 1 
        if j >= 10:
            break #如果j>=10则跳出while内循环,否则继续内循环
    print ("\n") #上面跳出while内循环后换行
    i += 1 
    if i >= 10: #进入判断i>=10则跳出最初while外循环结束,否则继续外循环,再次进入内循环
        break 

六、Pyhton 去除字符串首尾的空格:

def trim(s):
    while s[:1] == ' ':
        s = s[1:]
    while s[-1:] == ' ':
        s = s[:-1]
    return s

str = '   Runoob     '
print(trim(str))

猜你喜欢

转载自blog.csdn.net/feng_jlin/article/details/81872009