Python教程

Python练习:分支结构与流程控制

本文主要是介绍Python练习:分支结构与流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.用分支结构做一个猜拳游戏,要有提示

方法1:分别用0,1,2 代表石头,剪刀,布。其差值表示输赢

import random
print("==========猜拳游戏开始========")
print("输入 0表示石头 1表示剪刀 2表示布 ")
lis = ["石头", "剪刀", "布"]
x = int(input("请输入你出什么:"))
y = random.randint(0, 2)
z = x - y
if z == 0:
    print("平局!你出的是{}, 电脑出的是{}".format(lis[x], lis[y]))
elif z in [-1, 2]:
    # 石头->剪刀:-1、 剪刀->布:-1、 布->石头:2
    print("恭喜你赢得了比赛!你出的是{},电脑出的是{}".format(lis[x], lis[y]))
else:
    # 剪刀->石头:1、 布->剪刀:1、 石头->布:-2
print("很可惜你输了比赛!你出的是{},电脑出的是{}".format(lis[x], lis[y]))

方法2:

import random
x = input("请输入你出什么:")
lis = ['石头', '剪刀', '布']
y = random.randint(0,2)
y = lis[y]  # 把整数转化为要得到石头剪刀布
if (x == '石头' and y == '剪刀') or (x == '剪刀' and y == '布') or (x == '布' and y == '石头'):
    print("你赢了")
elif x == y:
    print('平局')
else:
    print('你输了')

2.输入3个数,找出最大值,要有提示

方法1:循环结构

x = int(input("请输入一个数x:"))
y = int(input("请输入一个数y:"))
z = int(input("请输入一个数z:"))
l = [y, z]
my_max = x
for i in l:
    if my_max < i:
        my_max = i
print(my_max)

方法2:

x = int(input("请输入一个数x:"))
y = int(input("请输入一个数y:"))
z = int(input("请输入一个数z:"))
if x>y and x>z:
    print("最大值为x:", x)
elif y>z:
    print("最大值为y:", y)
else:
    print("最大值为z:", z)

3.100元买100只鸡的问题 公鸡5元一只 母鸡3元一只 小鸡1元两只

for i in range(0,21):
    for j in range(0,34):
        m = 100-i-j
        if 5*i+3*j+m/2 == 100:
            print(f"公鸡{i}只,母鸡{j}只,小鸡{m}只")

4.输入一个数,求2到这个数的所有质数

a=int(input("请输入一个大于1的数:"))
flag = 0
for i in range(2,a+1):
    for j in range(2,i):
        if i%j == 0:
            print(f"{i}不是质数,他可以被{j}整除")
            flag = 1
            break
    else:
        print("{}是质数".format(i))

5. 输出1000以内的所有水仙花数

   水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,

   例如:1^3+5^3+3^3=153

for i in range(100,1000):
    x1 = i%10
    x2 = (i//10)%10
    x3 = i//100
    if x1**3+x2**3+x3**3 == i:
        print("{}是水仙花数。".format(i))
这篇关于Python练习:分支结构与流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!