1.

大小写转换

a、b、c、d这样的52个字母(包括大写)在计算机中存储时也要使用二进制数来表示。

标准ASCII码使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,如下图所示,可以看出字母对应大小写的差值为32。

注意:python 中,使用 ord() 函数将 字符 转换成其对应的 ASCII 码;使用 chr() 函数将 ASCII 码转换成其对应的 字符。

如:ord('A') 得到结果 65chr(65) 得到结果 'A'

# 请使用 input() 输入一个英文字母 char
char=input()
x=ord(char)
if x<=96:
# 请实现英文字母的大小写转化
    x=x+32
else:
    x=x-32
print(chr(x))

2.

判断位数并打印各位的值

请用程序实现

输入一个不多于五位的正整数num,求出它是几位数,将结果输出,并将每一位的数字都打印出来。

注意: 位数和每位的数字分两行打印。

# 请使用 input() 输入一个不多于五位的正整数 num
num=int(input())

# 请计算这个正整数的位数,并将每一位的数字都打印出来。
num1=str(num) 
num_list=list(num1)
n=len(num1)
if n==1:
    print("一") 
    print(num) 
elif n==2:
    print("二")
    for i in range(n): 
        print(num_list[i],end=" ") 
elif n==3: 
    print("三") 
    for i in range(n):
        print(num_list[i],end=" ")
elif n==4: 
    print("四") 
    for i in range(n): 
        print(num_list[i],end=" ")
elif n==5:
    print("五")
    for i in range(n):
        print(num_list[i],end=" ")

3.

地铁车票

购买地铁车票的规定如下:

乘 1~4 站,3 元/位; 乘 5~9 站,4 元/位; 乘 9 站以上,5 元/位。

请用程序实现

输入乘坐人数(per_num)和乘坐站数(sta_num),计算购买地铁车票需要的总金额,并将计算结果输出。

注意: 如果「乘坐人数」和「乘坐站数」为0负数,输出error

# 请使用 input() 输入乘坐的人数 per_num 和站数 sta_num
per_num=int(input())
sta_num=int(input())
# 请判断输入的人数和站数是否正确,计算购买车票的总金额,并将计算结果输出
if per_num<=0 or  sta_num<=0:
    print("error")
else:
    if   1<=sta_num<=4:
        pm=3
    if 5<=sta_num<=9:
        pm=4
    if sta_num>9:
        pm=5
    count=pm*per_num
    print(count)

 

4.

考试评级

请用程序实现

输入一个表示考试成绩score的整数,判断该成绩属于哪个级别,并将判断结果输出。

以下为成绩级别划分:

0-59E 60-69D 70-79C 80-89B 90-100A

# 请使用 input() 输入考试成绩 score
score = int(input('请输入考试成绩: '))

# 请判断成绩属于哪个级别
if 0<=score<=59:
    print("E")
elif 60<=score<=69:
    print("D")
elif 70<=score<=79:
    print("C")
elif 80<=score<=89:
    print("B")
elif 90<=score<=100:
    print("A")
else :
    print("输入错误")

 

5.

判断星期

每个星期对应的英语单词都不同,星期一到星期天的单词分别为:monday、tuesday、wednesday、thursday、friday、saturday、sunday。

请用程序实现

输入单词的前两个字符,判断输入的单词是星期几,并输出对应的单词;如果输入的字符不匹配,则输出error

# 请使用 input() 输入单词的前两个字母 chars
chars = input()

# 请判断输入的是星期几,并输出对应的单词
if chars=="mo":
    print("monday")
elif chars=="tu":
    print("tuesday")
elif chars=="we":
    print("wednesday")
elif chars=="th":
    print("thursday")
elif chars=="fr":
    print("friday")
elif chars=="sa":
    print("saturday")
elif chars=="su":
    print("sunday")
else :
    print("error")

 

6.

身体质量指数BMI

BMI :Body Mass Index 国际上常用的衡量人体肥胖和健康程度重要标准,主要用于统计分析‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬。BMI 的计算公式为 BMI = 体重(kg) / (身高(m) * 身高(m))

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1) 混合计算并给出国际和国内的 BMI 分类;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2) 使用input()获得测试用例输入时,不要增加提示字符串。

height = float(input())
weight = float(input())
bmi=weight/ pow(height,2)
# 计算bmi值并将判断结果输出 
print("BMI数值为:{:.2f}".format(bmi))
who,nat="",""
if bmi<18.5:
    who,nat="偏瘦","偏瘦"
elif 18.5<=bmi<=24:
    who,nat="正常","正常"
elif 24<=bmi<=25:
    who,nat="正常","偏胖"
elif 25<=bmi<=28:
    who,nat="偏胖","偏胖"
elif 28<=bmi<=30:
    who,nat="偏胖","肥胖"
else:
    who,nat="肥胖","肥胖"
print("BMI指标为:国际'{0}',国内'{1}'".format(who,nat))

7.

阶乘

请用程序实现

输入一个正整数num,计算这个正整数的阶乘,并将计算结果输出。

# 请使用 input() 输入一个正整数 num
num=int(input())
a=1 
# 请计算这个正整数的阶乘,并将计算结果输出
for i in range(1,num+1):
    a=a*i
print(a)

8.

水仙花数

"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如 153 = 1³ + 5³ + 3³,所以 153 是一个水仙花数。

请用程序实现

输入一个三位数,找出100~num(含)中的所有水仙花数,并将找出的水仙花数从小到大输出,每行输出1个数

# 请使用 input() 输入一个三位数 num
num = int(input('请输入一个三位数: '))

# 请找出 100 - num(含) 中的所有水仙花数,并将找出的水仙花数输出
for num in range(100,num):
    a=num%10 #个位
    b=num//100  #百位
    c=(num-b*100-a)//10  #十位
    if a**3+b**3+c**3==num:
        print(num)

9.

猴子摘桃

一只猴子摘桃子, 第一天摘了两个桃, 以后每天摘的是前一天的两倍还多一个.

请用程序实现

输入一个天数day,计算第day天它摘的个数,并将结果输出。

# 请使用 input() 输入一个天数 day
day = int(input('请输入一个天数: '))
# 请计算第 day 天猴子摘的桃子个数,并将结果输出
num=2
for i in range(1,day):
    if day==1:
        print("2")
    else:
        num=num*2+1
print(num)

10.

素数

「质数」又称素数,有无限个。素数定义为在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的数称为素数。

例如17就是素数,因为它不能被2 - 16的任一整数整除。

请用程序实现: 输入一个大于 1 的整数num,输出1~num(含)中的所有的素数(每行输出1个素数,从小到大排列)。

# 请使用 input() 输入一个整数 num
num = int(input('请输入一个整数: '))

# 输出 1 - num(含) 中的所有的素数
for m in range(2,num+1):
    for i in range (2,m):
        if m%i==0:
            break;
    else:
        print(m)

11.

随机密码生成

补充编程模板中代码,完成如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

以整数 17 为随机数种子,获取用户输入整数 N 为长度,产生 3 个长度为 N 位的密码,密码的每位是一个数字。每个密码单独一行输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

注意: 产生密码采用random.randint()函数。

import  random
import string
a=string.octdigits
key=[]

def genpwd(length):
    key=random.sample(a,length)
    keys="".join(key)
    return keys

length=eval(input())
random.seed(17)
for i in range(3):
    print(genpwd(length))

12.

圆周率的计算

求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在 1/4 圆内点的数量占总撒点数的比例计算圆周率值。

from random import random
from time import perf_counter
#定义变量,当作抛洒点的总数量
DARTS = 1000 * 1000
#撒在圆内部点为0
hits = 0.0
start = perf_counter()
for i in range(1,DARTS+1):
    x,y = random(),random()
    dist = pow(x ** 2 + y ** 2,0.5)
    if dist <= 1.0:
        hits = hits + 1
pi = 4 * (hits / DARTS)
print("圆周率值是:{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter() - start))

13.

求pi的近似值

输入精度 e,使用格雷戈里公式求 π 的近似值,精确到最后一项的绝对值小于 e.

格雷戈里公式如下:

π/4 = 1 − 1/3 + 1/5 - 1/7 + 1/9 + ··· + 1/(2 * n - 1)
e = float(input())

# 请根据 e 计算 pi 的近似值
x=-1
n=2
result=1
while(1/(2*n-3)>=e):
    result = result+x*(1/(2*n-1))
    x=x*(-1)
    n=n+1
count=4*result
print(count)

14.

篮球弹跳

篮球从一定高度向下掉落,每一次弹起的高度,都是前一次高度的一半。一次掉落和一次弹起极为一次弹跳。假设篮球初始高度为10米。

请用程序实现

输入篮球弹跳的次数num,计算num次后篮球所在的高度,并将计算结果输出。

# 请使用 input() 输入弹跳的次数 num
num = int(input('请输入弹跳的次数: '))
m=10
# 请计算弹跳 num 次后的篮球高度,并将结果输出
for i  in range(num):
    m=m/2
print(m)

15.

猜数字

.random() 方法返回随机生成的一个实数,它在 [0,1) 范围内。这个实数是大于等于 0,小于 1 的,也就是说不会随机生成 1。

我们如何使用它呢?看下面的代码:

import random
# 生成一个[0,1)的随机数
randomNum = random.random()
# 导入random模块
import random

# 生成随机数,并赋值给num变量
num = random.randint(1, 100)

# 定义 guess_chances 变量,初始化猜的次数
guess_chances = 7
print('您只有7次猜数字的机会哦!')

# 循环输入的次数
for i in range(1, guess_chances + 1):
    print('这是第' + str(i) + '次猜数字')

    # 实现对输入数字的判断