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))