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,流程,练习,int,lis,print,input,剪刀,输入 来源: https://blog.csdn.net/qq_48051316/article/details/122784332