Python | 阿尔法程序的控制结构
目录
年龄换算
判断平闰年
考试评级
大小写转换
判断位数并打印各位的值
判断回文数
地铁车票
判断星期
身体质量指数BMI
乞丐
水仙花数
篮球弹跳
阶乘
猴子摘桃
冰雹猜想
忽略倍数
素数
九九乘法表
随机密码生成
猜数字
圆周率的计算
求 π 的近似值
年龄换算
编程题
狗是人类的好朋友,一只狗大约可以生存 15 至 20
年,狗狗在 2
岁时,已经成年。为了对狗的年龄有个直观认识,有一个简单的换算办法能将狗的年龄换算为人类的年龄:
用表格罗列一下,像这样:
狗的年龄 | 人类的年龄 |
---|---|
1 | 15 |
2 | 24 |
3 | 28 |
4 | 32 |
5 | 36 |
… | … |
# 请使用 input() 输入狗狗的年龄
dogage=int(input())# 请计算相对人的岁数,并将结果输出
if dogage==1:print(15)
else:print(24+(dogage-2)*4)
判断平闰年
编程题
如果一个年份可以被 4 整除且不能被 100 整除,或者可以被 400 整除,那么这个年份就是闰年。
请用程序实现
输入一个年份year
,判断它是「平年」还是「闰年」。如果是平年,输出common year
;如果是闰年,输出leap year
。
示例 1
输入
2000
输出
leap year
示例 2
输入
1990
输出
common year
# 请使用 input() 输入一个年份 year
year=int(input())# 请判断这个年份是否为闰年
if year%4==0 and year%100!=0 or year%400==0:print("leap year")
else:print("common year")
考试评级
编程题
请用程序实现
输入一个表示考试成绩score
的整数,判断该成绩属于哪个级别,并将判断结果输出。
以下为成绩级别划分:
分数段 | 级别 |
---|---|
0 - 59 | E |
60 - 69 | D |
70 - 79 | C |
80 - 89 | B |
90 - 100 | A |
示例 1
输入
94
输出
A
示例 2
输入
56
输出
E
# 请使用 input() 输入考试成绩 score
score = int(input('请输入考试成绩: '))# 请判断成绩属于哪个级别
if score<=59:print("E")
elif score>=60 and score<=69:print("D")
elif score>=70 and score<=79:print("C")
elif score>=80 and score<=89:print("B")
elif score>=90 and score<=100:print("A")
大小写转换
编程题
a、b、c、d这样的52个字母(包括大写)在计算机中存储时也要使用二进制数来表示。
标准ASCII码使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,如下图所示,可以看出字母对应大小写的差值为32。
来进行大小写转换吧。
注意:python 中,使用 ord()
函数将 字符 转换成其对应的 ASCII 码;使用 chr()
函数将 ASCII 码转换成其对应的 字符。
如:ord('A')
得到结果 65
,chr(65)
得到结果 'A'
。
编程实现:输入一个英文字母char
,判断它是「大写字母」还是「小写字母」。如果是大写字母,将其转换为「对应的小写字母」;如果是小写字母,将其转换为「对应的大写字母」;并将转换后的结果输出。
示例 1
输入
A
输出
a
示例 2
输入
R
输出
r
# 请使用 input() 输入一个英文字母 char
char=input()# 请实现英文字母的大小写转化
if 64<ord(char)<96:num=ord(char)+32print(chr(num))
else:num=ord(char)-32print(chr(num))
判断位数并打印各位的值
编程题
请用程序实现
输入一个不多于五位的正整数num
,求出它是几位数,将结果输出,并将每一位的数字都打印出来。
注意: 位数和每位的数字分两行打印。
示例 1
输入
12345
输出(使用空格分隔同行的多数据输出)
五
1 2 3 4 5
示例 2
输入
567
输出(使用空格分隔同行的多数据输出)
三
5 6 7
# 请使用 input() 输入一个不多于五位的正整数 num
num = int(input())
# 请计算这个正整数的位数,并将每一位的数字都打印出来。
w = len(str(num))
a = ['一','二','三','四','五']
print(a[w-1])
for i in range(w):print(str(num)[i],end=" ")
判断回文数
编程题
请用程序实现
输入一个五位数,判断它是否是回文数。如果是,输出yes
;如果不是,输出no
。
注意: 回文数的个位与万位相同,十位与千位相同。
示例 1
输入
12321
输出
yes
示例 2
输入
12345
输出
no
num = str(input())
newnum = num[::-1]
if num == newnum:print("yes")
else:print("no")
地铁车票
编程题
购买地铁车票的规定如下:
乘 1~4 站,3 元/位;
乘 5~9 站,4 元/位;
乘 9 站以上,5 元/位。
请用程序实现
输入乘坐人数(per_num)和乘坐站数(sta_num),计算购买地铁车票需要的总金额,并将计算结果输出。
注意: 如果「乘坐人数」和「乘坐站数」为0
或负数
,输出error
。
示例 1
输入(使用换行分隔多数据输入)
0
1
输出
error
示例 2
输入(使用换行分隔多数据输入)
1
0
输出
error
示例 3
输入(使用换行分隔多数据输入)
2
4
输出
6
# 请使用 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 = 3if 5 <= sta_num <= 9:pm = 4if sta_num > 9:pm = 5print(pm * per_num)
判断星期
编程题
每个星期对应的英语单词都不同,星期一到星期天的单词分别为:monday、tuesday、wednesday、thursday、friday、saturday、sunday。
请用程序实现
输入单词的前两个字符,判断输入的单词是星期几,并输出对应的单词;如果输入的字符不匹配,则输出error
。
示例 1
输入
tu
输出
tuesday
示例 2
输入
mm
输出
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")
身体质量指数BMI
编程题
BMI :Body Mass Index 国际上常用的衡量人体肥胖和健康程度重要标准,主要用于统计分析。BMI 的计算公式为 BMI = 体重(kg) / (身高(m) * 身高(m))
。
请用程序实现
获取用户输入的体重和身高值,计算并给出国际和国内的 BMI 分类。
分类 | 国际BMI值 | 国内BMI值 |
---|---|---|
偏瘦 | BMI < 18.5 | BMI < 18.5 |
正常 | 18.5 ≤ BMI < 25 | 18.5 ≤ BMI < 24 |
偏胖 | 25 ≤ BMI < 30 | 24 ≤ BMI < 28 |
肥胖 | BMI ≥ 30 | BMI ≥ 28 |
要求如下:
(1) 混合计算并给出国际和国内的 BMI 分类;
(2) 使用input()获得测试用例输入时,不要增加提示字符串。
示例 1
输入
1.68
41
输出
BMI数值为:14.53
BMI指标为:国际'偏瘦', 国内'偏瘦'
示例 2
输入
1.72
80
输出
BMI数值为:27.04
BMI指标为:国际'偏胖', 国内'偏胖'
height = eval(input())
weight = eval(input())
bmi = weight / height**2
print("BMI数值为:{:.2f}".format(bmi))
if bmi < 18.5:print("BMI指标为:国际'偏瘦',国内'偏瘦'")
elif bmi < 24:print("BMI指标为:国际'正常',国内'正常'")
elif bmi < 25:print("BMI指标为:国际'正常',国内'偏胖'")
elif bmi < 28:print("BMI指标为:国际'偏胖',国内'偏胖'")
elif bmi <30:print("BMI指标为:国际'偏胖',国内'肥胖'")
else:print("BMI指标为:国际'肥胖',国内'肥胖'")
乞丐
编程题
丐帮帮主去天桥乞讨,并把每天乞讨的钱都存起来。设帮主存款初始为 0,且不使用这笔钱。
第一天乞讨了 1 块钱;第二天乞讨了 2 块钱;第三天乞讨了 4 块钱;第四天乞讨了 8 块钱;以此类推。
请用程序实现
输入一个天数day
,输出帮主每天的存款余额。
示例 1
输入
3
输出
1
3
7
示例 2
输入
5
输出
1
3
7
15
31
# 请使用 input() 输入一个天数 day
day = int(input("请输入一个天数: "))# 计算帮主这些天的总收入,并将每天的总收入输出
for i in range(1,day+1):s = 2**i - 1print(s)
水仙花数
编程题
"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如 153 = 1³ + 5³ + 3³
,所以 153 是一个水仙花数。
请用程序实现
输入一个三位数,找出100~num(含)
中的所有水仙花数,并将找出的水仙花数从小到大输出,每行输出1个数
示例 1
输入
200
输出
153
示例 2
输入
400
输出
153
370
371
# 请使用 input() 输入一个三位数 num
num = int(input())# 请找出 100 - num(含) 中的所有水仙花数,并将找出的水仙花数输出
for i in range(100,num+1,1):a=i%10b=i%100//10c=i//100n=a*a*a+b*b*b+c*c*cif i==n:print(i)
篮球弹跳
编程题
篮球从一定高度向下掉落,每一次弹起的高度,都是前一次高度的一半。一次掉落和一次弹起极为一次弹跳。假设篮球初始高度为10
米。
请用程序实现
输入篮球弹跳的次数num
,计算num
次后篮球所在的高度,并将计算结果输出。
示例 1
输入
5
输出
0.3125
示例 2
输入
3
输出
1.25
# 请使用 input() 输入弹跳的次数 num
num = eval(input('请输入弹跳的次数: '))
height = 10
# 请计算弹跳 num 次后的篮球高度,并将结果输出
for i in range(num):height /= 2
print(height)
阶乘
编程题
请用程序实现
输入一个正整数num
,计算这个正整数的阶乘,并将计算结果输出。
示例 1
输入
5
输出
120
示例 2
输入
10
输出
3628800
# 请使用 input() 输入一个正整数 num
num = int(input())
count = 1
# 请计算这个正整数的阶乘,并将计算结果输出
for i in range(1,num+1):count *= i
print(count)
猴子摘桃
编程题
一只猴子摘桃子, 第一天摘了两个桃, 以后每天摘的是前一天的两倍还多一个.
请用程序实现
输入一个天数day
,计算第day
天它摘的个数,并将结果输出。
示例 1
输入
2
输出
5
示例 2
输入
9
输出
767
# 请使用 input() 输入一个天数 day
day = int(input('请输入一个天数: '))
n = 2
# 请计算第 day 天猴子摘的桃子个数,并将结果输出
for i in range(2,day+1):n = 2*n + 1
print(n)
冰雹猜想
编程题
请用程序实现
输入一个大于1
的正整数num
; 如果num
为偶数, 就将它变为num / 2
; 如果num
为奇数, 就将它变为3 * num + 1
; 直到num
为1
时停止。并将每一次运算的结果输出。
示例 1
输入
12
输出
6
3
10
5
16
8
4
2
1
示例 2
输入
8
输出
4
2
1
# 请使用 input() 输入一个整数 num
num = int(input("请输入一个整数: "))# 编写程序验证冰雹
while num != 1:if num % 2 == 0:num /= 2print(int (num))else:num = num * 3 + 1print(int (num))
忽略倍数
编程题
请用程序实现
输入一个整数num
,循环打印1(含)~num(含)
中的整数,如果是3
的倍数或5
的倍数,则忽略。
示例 1
输入
6
输出
1
2
4
示例 2
输入
11
输出
1
2
4
7
8
11
# 请使用 input() 输入一个整数 num
num = int(input('请输入一个整数: '))
a = 1
# 请打印 1(含) - num(含) 中的整数,如果是 3 的倍数或 5 的倍数,则忽略
for i in range(1, num+1):if i % 3 == 0 or i % 5 == 0:print(end="")else:print(i)
素数
编程题
「质数」又称素数,有无限个。素数定义为在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的数称为素数。
例如17
就是素数,因为它不能被2 - 16
的任一整数整除。
请用程序实现: 输入一个大于 1 的整数num
,输出1~num(含)
中的所有的素数(每行输出1个素数,从小到大排列)。
示例 1
输入
7
输出
2
3
5
7
示例 2
输入
20
输出
2
3
5
7
11
13
17
19
# 请使用 input() 输入一个整数 num
num = int(input('请输入一个整数: '))
# 输出 1 - num(含) 中的所有的素数
for i in range(2,num+1):fg=0for j in range(2,i-1):if i % j == 0:fg = 1breakif fg == 0:print(i)
九九乘法表
编程题
大家小时候都背过乘法表,乘法表是有规律的:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
......
在这里,你需要在循环里面嵌套一个循环:外面的循环控制行数,里面的循环控制每一行算式的个数。
想让算式在同一行输出,可以在 print 指令中加一个参数:
print(1, end=' ')
print(2)
这样,1 和 2 就打印在同一行上面了:
1 2
使用 print 输出多个数字,输出的内容之间会有空格:
print(1, 2, 3)
它将输出:
1 2 3
如果不想让输出的内容之间有空格,可以使用格式化输出:
print('%sx%s'%(1, 1))
它将输出:
1x1
它在字符串中使用 %s
占位,然后在字符串后面跟着 %()
,在 ()
中填写需要的内容。
那么接下来,我们就开始吧!
使用小写的英文字母 x
表示数学中的 乘号
。(也可以使用 *
表示乘号)
单个等式内部没有空格,等式与等式之间空一个空格。
最终效果如下:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
......
# 请在此处编写你的程序
for i in range(1, 10):for j in range(1, i+1):print('{}x{}={}\t'.format(j, i, i*j), end='')print()
随机密码生成
编程题
补充编程模板中代码,完成如下功能:
以整数 17 为随机数种子,获取用户输入整数 N 为长度,产生 3 个长度为 N 位的密码,密码的每位是一个数字。每个密码单独一行输出。
注意: 产生密码采用random.randint()
函数。
注意: 这不是自动评阅题目,仅用于练习,没有评阅。
示例
输入
3
输出
634
524
926
# 请在...补充代码
import random
def genpwd(length):return random.randint(10**(length-1),10**length-1)
length = eval(input())
random.seed(17)
for i in range(3):print(genpwd(length))
猜数字
编程题
.random()
方法返回随机生成的一个实数,它在 [0,1) 范围内。这个实数是大于等于 0,小于 1 的,也就是说不会随机生成 1。
我们如何使用它呢?看下面的代码:
import random
# 生成一个[0,1)的随机数
randomNum = random.random()
那么我们想生成一个在 [0,100) 范围内的随机数呢?当然也是可以的,我们只需要将 random.random()
生成的随机数扩大 100 倍就行了:
import random
# 生成一个[0,100)的随机数
randomNum = random.random() * 100
注意: .random()
是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
同样,random 模块还有很多的方法,如:random.randint(1, 10)
将返回 1 - 10 之间的整数。
使用 python 实现猜数字游戏,即系统随机生成一个整数,通过 input()
函数,输入整数,根据系统给出的提示猜数字。
要求:
- 随机生成一个 1 - 100 之间的整数。
- 7 次猜数字的机会,如果没有猜正确,游戏结束。
- 输入字母 q,则退出游戏。
注意: 这不是自动评阅题目,仅用于练习,没有评阅。
运行你的程序,执行效果如下所示:
您只有7次猜数字的机会哦!
这是第1次猜数字
请输入数字:1
您输入的数字太小了,您还有6次机会,请重新输入!
这是第2次猜数字
请输入数字:n
输入的内容必须为整数,请重新输入!
这是第3次猜数字
请输入数字:q
退出游戏!
进一步改程序
- 7 次可能太少,改成 10 次的话,如何调整程序?
- 0 - 100 的数太小了,如果要改为 0 - 1000 怎么调整代码?
import random# 生成随机数,并赋值给num变量
num = random.randint(1, 101)
# 定义 guess_chances 变量,初始化猜的次数
guess_chances = 7
print('您只有7次猜数字的机会哦!')
# 循环输入的次数
for i in range(1, guess_chances + 1):print('这是第' + str(i) + '次猜数字')str1=input()if str1 == "q":print("退出游戏!")breakelse:num1=int(str1)if num == num1:print("您猜对了")breakif num < num1:print("您输入的数字太大了,您还有%d次机会,请重新输入!"%(7-i))if num > num1:print("您输入的数字太小了,您还有%d次机会,请重新输入!"%(7-i))
圆周率的计算
编程题
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在 1/4 圆内点的数量占总撒点数的比例计算圆周率值。
请用程序实现
请以 123 作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后 6 位。
from random import random, seed
DARTS = eval(input())
seed(123)
hits = 0.0
for i in range(DARTS):x, y = random(), random()dist = pow(x ** 2 + y ** 2, 0.5)if dist <= 1.0:hits = hits + 1
pi = 4 * (hits/DARTS)
print("{:.6f}".format(pi))
求 π 的近似值
编程题
输入精度 e
,使用格雷戈里公式求 π
的近似值,精确到最后一项的绝对值小于 e.
格雷戈里公式如下:
π/4 = 1 − 1/3 + 1/5 - 1/7 + 1/9 + ··· + 1/(2 * n - 1)
注意: n
从 1 开始.
输入格式:
输入在一行中给出精度 e
输出格式:
对于给定的输入,在一行中输出π的近似值。
示例 1
1
输出
2.666666666666667
注意:1 的绝对值不小于 1,1/3 的绝对值小于 1,所以π = 4 * (1 - 1/3) = 2.666666666666667
示例 2
输入
0.0001
输出
3.1417926135957908
e = float(input())# 请根据 e 计算 pi 的近似值
sum=0
n=1
sign=1
sum = sum + sign / (2*n-1)
while abs(sign/(2*n-1))>=e:n=n+1sign=-signsum=sum+sign/(2*n-1)
count=4*sum
print(count)
Python | 阿尔法程序的控制结构相关推荐
- 金丹期前期:1.3、python语言-python的程序的控制结构:选择与循环
一.选择结构 1.if-else结构 if 条件: #没有括号,直接用冒号结尾满足条件时要做的事情1 #注意缩进满足条件时要做的事情2满足条件时要做的事情3...(省略)...else:不满足条件时要 ...
- 阿尔法python 第四章 程序的控制结构
程序的控制结构 年龄换算 平闰年 考试评级 大小写转换 判断位数并打印各位的值 回文数 地铁车票 判断星期 身体质量指数BMI 乞丐 水仙花数 篮球弹跳 阶乘 猴子摘桃 冰雹猜想 忽略倍数 素数 输出 ...
- python程序的控制结构
python程序的控制结构 1.if 缩进 #严格缩进 if g==1: #if后面有一个空格,还有冒号print("right")#没空格有()也行 if(g==1): #冒号p ...
- python 程序流程控制结构-【笔记】《python语言程序设计》——程序的控制结构...
一.前言 学习就是一个不断的自下而上,自上而下的过程. 前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维. 这是需求驱 ...
- 计算机二级python基础知识总结-计算机二级python 知识点篇(程序的控制结构)...
计算机二级python 知识点篇(程序的控制结构) 程序的基本结构 程序由三种基本结构组成: 顺序结构. 分支结构和循环结构 分支结构 单分支结构 if and 表示多个条件"与" ...
- python中常见的流程结构-Python学习笔记5程序的控制结构
1.分支结构 (1)单分支结构 (2)二分支结构 (3)多分支结构 条件判断 (4)程序的异常处理 2.实例:身体质量指数BMI 思路一(国内,稍作修改就是国际): 思路二: 1 height,wei ...
- 程序异常是python语言基本控制结构_计算机二级python 知识点篇(程序的控制结构)...
计算机二级python 知识点篇(程序的控制结构) 程序的基本结构 程序由三种基本结构组成: 顺序结构. 分支结构和循环结构 分支结构 单分支结构 if and 表示多个条件"与" ...
- python语言三大基本控制结构_【笔记】《python语言程序设计》——程序的控制结构...
一.前言 学习就是一个不断的自下而上,自上而下的过程. 前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维. 这是需求驱 ...
- Chapter Two : Python 语言基础、运算符与表达式、程序的控制结构合集
目录 一.Python 语言基础 1. Python 语法规则 2. 关键字与标识符 3. 变量 4. 基本数据类型 5. 输入与输出 二.运算符与表达式 1. 算术运算符 2. 赋值运算符 3. 比 ...
最新文章
- Linq to Sql : 动态构造Expression进行动态查询
- extjs 表头居中,数据靠左的写法
- C++ 指针基本概念
- linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务
- 【NLP论文推荐】 掌握实体关系抽取必读的文章
- 联想r720自带杜比驱动下载_给心爱的本本装上杜比音效
- 男生的长相到底有多重要?
- 斐讯路由器k2编程器救砖教程
- NUISTOJ/P1623切蛋糕
- 大数据时代 无处安放的隐私数据
- android友盟错误日志,友盟崩溃日志分析三种方式
- 《Scrum精髓—敏捷转型指南》读后感
- 论文研读 —— 6. ImageNet Classification with Deep Convolutional Neural Networks (1/3)
- php水果百科动态网站毕业设计-附源码060917
- 第六章 培养和谐的能力
- Python学习随笔:使用xlwings读取和操作Excel文件
- 下载Visual Studio
- c语言表达式106的结果是,云南师范大学C语言期末试题
- echarts的中国地图去掉南海诸岛
- 老旧小区改造,智慧社区解决方案应用其中
热门文章
- pikachu漏洞练习平台XSS
- (43.1)【web应用漏洞发现】漏洞平台、开发框架、CMS漏扫工具
- VC运行库安装错误0x80240017解决过程
- 天龙八部荣耀版体验服服务器未响应,《天龙八部荣耀版》创新竖版手游官网-合区来了!体验服合区测试解析...
- python全局代理_Python3 中代理使用方法总结
- php error reporting,php error_reporting
- 论文笔记:图像分割——ExFuse DFN
- html5新增标签有dfn吗,html dfn标签怎么用
- SSAS Tabular
- 静态函数与非静态函数的区别