python绘制四叶花瓣_python第四次实验(课后)

1、请输出所有的四叶玫瑰数。四叶玫瑰数是 4 位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当 n 为 3 时, 有 1^3 + 5^3 + 3^3 = 153,153 即是 n 为 3 时的一个自幂数,3 位数的自幂数被称 为水仙花数)。

第一种方法:

i=1000

while i < 10000:

temp=i

a=temp//1000#千位

b=(temp%1000)//100#百位

c=(temp%100)//10#十位

d=(temp%10)#个位

if i == a**4 + b**4 + c**4 + d**4:

print("四位数为:", temp)

i += 1

四位数为: 1634

四位数为: 8208

四位数为: 9474

第二种方法:

for i in range(1000,9999,1):

sum=0

temp=i

while temp:

sum=sum+(temp%10)**4

temp=temp//10

if sum==i:

print(i)

1634

8208

9474

2、用户登录(三次机会)。给用户三次输入用户名和密码的机会,要求如下: 1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成 功!’,退出程序; 2)当一共有 3 次输入用户名或密码不正确输出“3 次用户名或者密码均有误! 退出程序。”。

for i in range(3):

name = input("请输入姓名")

key = input("请输入密码")

if name == "Kate" and key == "666666":

print("登陆成功")

a=1

else:

print("密码错误")

a=2

if a == 2:

print("三次密码均有误")

请输入姓名: 张泽中

请输入密码: 查克

密码错误

请输入姓名: 冯小宝

请输入密码: 子若非转

密码错误

请输入姓名: 夏仕鑫

请输入密码: 死神

密码错误

三次密码均有误

请输入姓名: Kate

请输入密码: 666666

登陆成功

请输入姓名:

3、猜数游戏。在程序中预设一个 0-100 之间的整数,让用户通过键盘输入所猜 的数,如果大于预设数,则显示”遗憾,太大了”,小于预设数则显示“遗憾,太 小了”,如此循环,直到猜中该数,显示“猜了 n 次,终于猜对了!”,其中 n 是 用户输入数字的次数,如果用户输入的数不是整数,则输出“输入内容必须为整 数!”的提示,并让用户重新输入。

import random

while True:

try:

k = random.randint(0, 100)

x = int(input("请输入0~100之间的整数"))

tem = 0

while x != k:

tem += 1

if (x > k):

print("遗憾,太大了")

else:

print("遗憾,太小了")

x = eval(input("请输入0~100之间的整数"))

except:

print("输入内容必须为整数!")

else:

print("预测{}次,你猜中了".format(tem))

break

请输入0~100之间的整数32

遗憾,太小了

请输入0~100之间的整数56

遗憾,太小了

请输入0~100之间的整数34

遗憾,太小了

请输入0~100之间的整数78

遗憾,太小了

请输入0~100之间的整数98

遗憾,太大了

请输入0~100之间的整数87

遗憾,太小了

请输入0~100之间的整数92

遗憾,太小了

请输入0~100之间的整数94

预测7次,你猜中了

4、羊车门问题。有 3 扇关闭的门,一扇门后面停着汽车,其他们后面是山羊, 只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在它开启之前, 主持人会开启另一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。 请问:参赛者更换选择后能否增加猜中汽车的机会?请用 random 库对这个随机 事件进行预测,分别输出参赛者改变选择和坚持选择获胜的机率。 (经典问题)

方法一:

#羊车门问题求解

import random as rd

k=100#选择次数

i=0

m=0

for x in range(k):

num = [1,1,0]

rd.shuffle(num)#随机化门

print("关闭前:"+str(num))

human = rd.randint(0,2)#选择一个门

print("随机选择第"+str(human+1)+"个门")

#关闭一个羊门,赋值为9

y=0

while y <3:

if y !=human and num[y] == 1:

num[y]=9

j=y

y=3

else:

y+=1

print("关闭一个门:"+str(num))

#坚持选择

if num[human] == 0:#中奖

i+=1

print("坚持选择中奖!")

else:

print("坚持选择未中奖!")

#更换选择

z=0

while z <3:

if z != human and z != j:

print("重新第"+str(z+1)+"个门")

if num[z]==0:

m+=1

print("重新选择中奖!")

else:

print("重新选择未中奖!")

z=3

else:

z+=1

print("\n")

rate_1=i/k

rate_2=m/k

print("坚持选择的中奖概率="+str(rate_1))

print("重新选择的中奖概率="+str(rate_2))

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第2个门

关闭一个门:[9, 1, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第2个门

关闭一个门:[9, 1, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第2个门

关闭一个门:[9, 1, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第2个门

关闭一个门:[9, 0, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 1, 0]

随机选择第1个门

关闭一个门:[1, 9, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第2个门

关闭一个门:[9, 1, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第2个门

关闭一个门:[9, 1, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[1, 0, 1]

随机选择第1个门

关闭一个门:[1, 0, 9]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第2个门

关闭一个门:[9, 1, 0]

坚持选择未中奖!

重新第3个门

重新选择中奖!

关闭前:[1, 1, 0]

随机选择第3个门

关闭一个门:[9, 1, 0]

坚持选择中奖!

重新第2个门

重新选择未中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第3个门

关闭一个门:[0, 9, 1]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第2个门

关闭一个门:[0, 1, 9]

坚持选择未中奖!

重新第1个门

重新选择中奖!

关闭前:[1, 0, 1]

随机选择第3个门

关闭一个门:[9, 0, 1]

坚持选择未中奖!

重新第2个门

重新选择中奖!

关闭前:[0, 1, 1]

随机选择第1个门

关闭一个门:[0, 9, 1]

坚持选择中奖!

重新第3个门

重新选择未中奖!

坚持选择的中奖概率=0.34

重新选择的中奖概率=0.66

第二种方法:

import random

a = ['羊1', '羊2', '汽车']

times = 1000*1000 # 尝试次数

first, change = 0, 0

for i in range(times):

x = random.choice(a) # 正确答案

y = random.choice(a) # 参赛者选择答案

if x == y: # 坚持最初的选择

first += 1

else: # 改变选择

change += 1

print("坚持初心获得胜利的概率:{:.2f}%".format(first/times*100))

print("改变初心获得胜利的概率:{:.2f}%".format(change/times*100))1234567891011121314

坚持初心获得胜利的概率:33.40%

改变初心获得胜利的概率:66.60%

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值