程序结构:顺序结构、选择结构和循环结构。
顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。python中选择语句主要有3种形式:if语句、if...else语句和if...elif...else多分支语句。
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构和先执行后判断的循环结构。
while循环:通过一个条件来控制是否要继续反复执行循环体中的语句。
while 条件表达式:
循环体
案例1
金庸小说《射雕英雄传》黄蓉与瑛姑见面时,出了这样一道数学题,“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?”
判断输入的是不黄蓉所说的数。
x = int(input())
if x % 3 == 2 and x % 5 == 3 and x % 7 == 2:
print(x)
else:
print("此数不是正确答案")
案例2:
判断平闰年:如果一个年份可以被 4 整除且不能被 100 整除,或者可以被 400 整除,那么这个年份就是闰年。
请用程序实现
输入一个年份year,判断它是「平年」还是「闰年」。如果是平年,输出common year;如果是闰年,输出leap year。
year = int(input('请输入一个年份:'))
if year % 4 == 0 and year % 100 != 0:
print('leap year')
elif year % 400 == 0:
print('leap year')
else:
print('common year')
案例3:输入一个表示考试成绩score的整数,判断该成绩属于哪个级别,并将判断结果输出。
以下为成绩级别划分:
分数段 | 级别 |
0-59 | E |
60-69 | D |
70-79 | C |
80-89 | B |
90-100 | A |
score = int(input())
if 0 <= score <= 59:
print("E")
elif 59 < score <= 69:
print("D")
elif 69 < score <= 79:
print("C")
elif 79 < score <= 89:
print("B")
elif 89 < score <= 100:
print("A")
案例4:判断是否为酒后驾车,酒精含量小于20,不构成酒大于等于20小于80构成酒驾,大于等于80构成醉驾。
a = int(input())
if a < 20:
print("不构成酒驾")
elif 20 <= a < 80:
print("构成酒驾")
else:
print("醉驾")
案例5:判断星期
每个星期对应的英语单词都不同,星期一到星期天的单词分别为:monday、tuesday、wednesday、thursday、friday、saturday、sunday。
请用程序实现:输入单词的前两个字符,判断输入的单词是星期几,并输出对应的单词;如果输入的字符不匹配,则输出error
word = input()
if word == "mo":
print("monday")
elif word == "tu":
print("tuesday")
elif word == "we":
print("wednesday")
elif word == "th":
print("thursday")
elif word == "fr":
print("friday")
elif word == "sa":
print("saturday")
elif word == "su":
print("sunday")
else:
print("error")
案例6:
输出10以内的奇数。
for i in range(1,11,2):
print(i)
案例7:
实现从1到100的累加。
a = 0
for i in range(100):
i += 1
a = i + a
print(a)
案例8:猴子摘桃
一只猴子摘桃子, 第一天摘了两个桃, 以后每天摘的是前一天的两倍还多一个。
请用程序实现:输入一个天数day,计算第day天它摘的个数,并将结果输出。
day = int(input())
a = 2
for i in range(1,day):
a = 2 * a + 1
print(a)
案例9:水仙花
“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如 153=13+53+33,所以 153 是一个水仙花数。
请用程序实现输入一个三位数,找出 100~num(含)中的所有水仙花数,并将找出 的水仙花数从小到大输出,每行输出 1 个数。
a = int(input())
for n in range(100,a+1):
i = n // 100
j = n // 10 % 10
k = n % 10
if n == i ** 3 + j ** 3 + k ** 3:
print (n)
continue 语句
终止本次循环而提前进入下一次循环中。
while 条件表达式1:
执行代码
if 条件表达式2:
continue
逢7拍腿游戏 ···若是随机数开始需要载入random···
import random
a = random.randint(0,10)
print(a)
#for number in range(0,100):
for number in range(a,100):
if number % 7 == 0:
print(number)
continue
else:
string = str(number)
if string.endswith('7'):
print(number)
continue
pass语句表示空语句。
不作任何事情,一般起到占位作用
最后算是个人作业
一 : 地铁车票:购买地铁车票的规定如下:
乘 1~5 站,6 元/位; 乘6~9 站,8 元/位; 乘 10 站以上,9 元/位。
请用程序实现:输入乘坐人数(per_num)和乘坐站数(sta_num),计算购买地铁车票需要的总金额,并将计算结果输出。
注意: 如果「乘坐人数」和「乘坐站数」为0或负数,输出error。
ccrs = int(input())
czzs = int(input())
if 1 <= czzs < 6:
print(ccrs * 6)
elif 6 <= czzs <9:
print(ccrs * 8)
elif ccrs >= 10:
print(ccrs * 9)
else:
print('error')
# elif ccrs == 0 or czzs <= 0:
# print('error')
二:阶乘
请用程序实现:输入一个正整数num,计算这个正整数的阶乘,并将计算结果输出。
示例 1:输入 5;输出 120 ~~~这里有俩种方法,第二种递归呢可是非常非常滴好,懂的都懂~~~
#阶乘
a=1
num=int(input("输入一个数:"))
for i in range(1,num+1):
a=a*i
print(a)
使用递归
n=int(input())
def jie_cheng(n):
if n <= 1:
return 1
return n * jie_cheng(n - 1)
print(jie_cheng(n))
三:篮球从一定高度向下掉落,每一次弹起的高度,都是前一次高度的三分之一。一次掉落和一次弹起视为一次弹跳。假设篮球初始高度为15米。
请用程序实现:输入篮球弹跳的次数num,计算num次后篮球所在的高度,并将计算结果输出。
num = int(input('请输入弹跳的次数: '))
height=15
for i in range(num):
height=height/3
print(height)
### ~tips:全篇都是一名等待毕业的大四学生个人见识,代码也是自己的理解,可能还有最优解,这就需要各位努力学习,有想法的朋友可以发在评论区。最后的最后希望我的分享对各位能有浅浅的帮助吧。###