一、猜数字游戏
例1:
import random
target=random.randint(1,1000)
count=0
while True:
guess=eval(input("请输入一个猜测的整数(1到1000):"))
count=count+1
if guess>target:
print("猜大了")
elif guess<target:
print("猜小了")
else:
print("猜对了")
break
print("此轮猜测的次数是:",count)
例2
import ramdom
target = random.randint(1,1000)
count = 0
while True:
try:
guess=eval(input("请输入一个猜测的整数(1-1000):"))
except:
print("输入有误,请重试,不计入猜测次数")
continue
count=count+1
if guess >target:
print("猜大了")
elif guess<target:
print("猜小了")
else:
print("猜中了")
break
print("此次的猜测次数为:",count)
二、输入一个年分,判断是否为闰年
while True:
year=int(input("请输入一个年分:"))
if year%4==0 and year%100!=0 or year%400==0:
print("是闰年")
break
else:
print("不是闰年")
三、计算最大公约数:获得两个整数,求出这两个整数的最大公约数和最小公倍数,最大公约数
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
end = []
if a > b:
smaller = b
else:
smaller = a
for i in range(1, smaller + 1):
if a % i == 0 and b % i == 0:
end.append(i)
l = len(end)
p = end[l - 1]
print('最大公约数:', p)
print('最小公倍数:', a * b / p)
四、统计不同字符的个数。用户从键盘输入一行字符,统计并输出其中英文、
数字、空格和其他字符的个数。
import string
pharse= input('请输入字符串:')
alphaNum=0
numbers=0
spaceNum=0
otherNum=0
hanziNum=0
for i in pharse:
if i in string.ascii_letters:
alphaNum +=1
elif i.isnumeric():
numbers +=1
elif i.isspace():
spaceNum +=1
elif i.isalpha():
hanziNum +=1
else:
otherNum +=1
print("字母的数目为",alphaNum)
print("数字的数目为",numbers)
print("空格的数目为",spaceNum)
print("汉字的数目为",hanziNum)
print("其他字符的数目为",otherNum)
4.羊车门问题:有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后,能否增加猜中汽车的机会?通过设计并编写程序验证,并给出自己的解释。
from random import choice
count= 10000
my_first_choice_n=0#初始化不改选择的次数
my_change_choice_n=0#初始化更改选择的次数
for i in range(count):
a=“羊1”,“羊2”,“车”
car_inDoor=choice(a)
my_guess=choice(a)
if car_inDoor==my_guess:
my_first_choice_n+=1
else:
my_change_choice_n+=1
print(“不改选择:{}”.format(my_first_choice_n/count))
print(“更改选择:{}”.format(my_change_choice_n/count))
运行结果为:
不改选择:0.3217
更改选择:0.6783
所以我选择更改选择。