"""
- 请输入考试分数,并判断考试成绩的等级
score >= 85 A
score >= 75 B
score >= 60 C
score >= 40 D
score >= 0 E
"""
def inputfloat(score ="请输入您的分数:"):
while True:
data = input(score)
try:
inputData = eval(data) #去除字符创的引号
if type(inputData) == float or int:
# break
return inputData
except:
print('输入错误')
pass
if __name__ == "__main__":
score = inputfloat()
if score >= 85:
print("A")
elif score >= 75:
print('B')
elif score >= 60:
print('C')
elif score >= 40:
print('D')
elif score >= 0:
print('E')
else:
print('输入成绩应为0-无限大')
"""
输入一个五位数,请判断是否为回文数
"""
num = int(input("请输入一个五位数:"))
num1 = str(num)
if len(num1) != 5:
print('输入的不是五位数')
elif num1[0]==num1[4] and num1[1]==num1[3]:
print(num,'是个回文数')
else:
print(num,'不是回文数')
"""
1、 用户登陆程序需求:
1. 输入用户名和密码;
2. 判断用户名和密码是否正确? (name='root', passwd='westos')
3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 提示错误次数过多,账号已被冻结
"""
n = 1
while n <= 3:
name = input('请输入你的用户名:')
password = input('请输入你的密码:')
if name == 'root' and password == 'westos':
print('登录成功')
break
n=n+1
else:
print('输入错误次数过多,账号已被冻结')
"""
2、使用了 while 来计算 1 到 100 的总和
"""
n =1
sum = 0
while n <=100:
sum = sum +n
n = n + 1
print(sum)
"打印乘法表"
#间距一样
for i in range(1,10):
# print(' '*8*(i-1),end='')
for j in range(1,i+1):
product = i *j
if j > 1 and product <10:#这个范围的积是个位数
product = ' '+str(product) #补空格
else:
product = str(product)
print('%d*%d=%s\t'%(i,j,product),end='')
# print('{0}*{1}={2}\t'.format(i,j,product),end='')#\t横向制表符
print()
"""
1、剪刀石头布游戏:
游戏开始,输入数字表示选项:退出【0】石头【1】剪刀【2】布【3】
游戏结束,计算游戏者的胜率
提示:人机游戏,机器可随机出拳
"""
import random
print('游戏开始,输入数字表示选项:退出[0]石头[1]剪刀[2]布[3]')
count =0
sum =0
shenglv =0
rand = random.randint(1,4)
num = int(input('输入你的选项:\n'))
print('机器出拳',rand)
while num != 0:
if (num,rand) in [(1,2),(2,3),(3,1)]:
count += 1
sum += 1
else:
sum += 1
num = int(input('请输入你的选项:\n'))
rand = random.randint(1,4)
print('机器出拳',rand)
if sum == 0:
shenglv = 0
else:
shenglv = count / sum
print(count,sum)
print('你一共玩了%d局,胜率为%.2f%%' % (sum,shenglv*100))
"""
求十万内的素数,并打印运算次数,运算时间,正确情况下效率越高越好
"""
print(2)
count = 1
sum = 0
import time
start = time.perf_counter()
for i in range(3,100000,2):#进入循环的都是奇数
for n in range(3,int(i**0.5)+1,2):#奇数除偶数不能整除,所以跳过
sum += 1
if i % n == 0 :
break
else:
print(i)
count+=1
end = time.perf_counter()
print('一共有%d个素数'%count)
print('算了%d次'% sum)
print('run:%ss'%(end-start))