赞
踩
联系QQ:970586718
博客地址:https://blog.csdn.net/m0_46521785
if (条件A):
pass
elif (条件B):
pass
elif (条件C):
pass
elif ...:
pass
else:
pass
编写程序需要使用多分支的时候不要使用多个if替代,因为可能会在第一个if里改变变量的值导致进入第二个if
执行if语句的时候,会先计算条件,判断最后的结果是True还是False,如果是True的话会进入这个if语句的程序块,否则进行下一个条件的判断
每一层if语句可以再写一个if语句,只要保证好缩进就可以了,在python中,缩进就是层级关系。
a = 1
b = 2
if a>0:
if b<0:
print(111)
else:
print(222)
else:
if b<0:
print(666)
else:
print(777)
倍数判断
程序的功能是判断一个整数是否能被7或11整除,若能被7或11整除,则输出"Yes",否则输出"No",请补充程序。
素数判断
输入一个数字判断它是不是素数(质数)
输入整数x,y,z,判断x3+y3+z^3和1000的关系
输入整数x,y,z,若x^3+y^3+z^3>1000,则输出x^3+y^3+z^3-1000的结果,否则输出三个数之和。
注:用eval()函数结合input()函数同时输入3个整数,输入数字时用逗号分隔
适婚问题
输入年龄和性别,判断你当前的个人情况!
男性小于30岁显示:young,30岁到36岁之间显示:marriageable age,大于36岁显示:old。
女性小于25岁显示:young,25岁到30岁之间显示:marriageable age,大于30岁显示:old。
这里的x是可迭代对象,什么叫可迭代对象呢,就是可以依次代表每个元素
常见的可迭代对象有字符串、元组、列表、字典、集合
a = 'hzau'
for i in a:
print(i)
print('#'*30)
b = list(a) # 创建一个列表,同时学习一下,直接对字符串使用list强制转化的话,每一个字符都对应一个元素
print(b)
for i in b:
print(i)
range是一个迭代器,就像工厂可以生产产品一样,迭代器可以生成可迭代对象。
它得到的结果是一个range对象,构造内容是从a(a不写默认从0开始)到b(不包含b)的整数伪列表(胡滨老师起的名字)
什么意思呢,看下面代码就知道了
a = range(1,10)
print(a)
print(list(a)) # 看看a里到底包含什么东西
通过print(list(a))我们可以简单理解为,range(1,10)就相当于创建了一个列表,其中的元素是1-9
for i in range(1,10):
print(i)
经常写为for i in range(len(x)),为什么这么写呢?因为我这样写索引和元素是一一对应的
a = 'hzau'
for i in range(len(a)):
print(i,a[i])
for i in x能做到的事,for i in range(x)都可以做,所以推荐使用for i in range(x)的写法,反之不对
(细细体会这句话,就像下面要说的:for循环能做到的事,while循环都可以做,反之不对)
还是老话:因题而仪,具体情况具体分析
你可以先写代码,发现for i in x写到最后写不出来了,那你就换成for i in range(x)
如果不想动脑子就直接写成for i in range(x)的形式,因为for i in x能做到的事,for i in range(x)都可以做
结构如下
while 条件:
循环体
当条件成立就会执行循环体的内容,例如
x=0
while x<=5:
print(x)
x+=1
#结果为0 1 2 3 4 5
当while的判断条件一直为True的时候,程序会一直在循环里,无法执行后面的代码,如下
while 1:
print(666)
但是,当给死循环加上一个判断条件的时候,就可以达到起到不错的作用,例如,我们使用while循环替代for循环
mystr = 'hzau'
index = 0
while True: # 创建死循环
if index >= len(mystr): # 设置跳出循环的条件
break
print(mystr[index])
index += 1
有同学可以看得出来,这个其实就等价于
mystr = 'hzau'
index = 0
while index >= len(mystr): # 创建死循环
print(mystr[index])
index += 1
是的,没错,但是很显然第一段代码需要懂得脑子很少,逻辑更简单
for i in range(3):
if i==1:
continue
print(i,666)
print('###########################')
for i in range(3):
if i==1:
break
print(i,777)
考试的时候经常这么描述:break用来跳出最内层循环,脱离循环后程序从循环代码后继续执行。【这句话是对的】
break只能跳出最内层的循环,也就是说它只能结束离它最近的循环结构,为什么说最近呢?因为循环也可以嵌套呀,看看下面的例子就明白了
for i in range(3):
for j in range(3):
if j==1:
break
print('i=%d,j=%d'%(i,j))
那如果想跳出外面一层怎么办呢可以使用创建flag的方式,什么叫创建flag,他就是创建一个条件,根据条件状态来判断后面该怎么编写代码,这个作用只可意会
flag = 1
for i in range(3):
if not flag: # 这么写为什么是对的呢?起到的作用和 if flag==0 一样吗?
break
for j in range(3):
if j==1:
flag = 0
break
print('i=%d,j=%d'%(i,j))
很多同学对程序是使用for循环还是while循环十分纠结,其实记住一句话就OK
for循环能做到的事,while循环都可以做,反之不对(细细体会)
其实,我们在写程序的时候经常使用for循环,相比之下,while循环使用的少一点
有个了解就可以了,知道有这么种形式,考的不是很多
执行完循环体,如果没有被break掉的话,会继续执行else里面的内容
x=0 while x<=5: print(x) x+=1 else: print('进入else啦') ########################### x=0 while x<=5: if x==1: print(i) break print(x) x+=1 else: print('进入else啦')
做题前先想一下你是一直循环次数还是已知循环条件,然后判断使用哪种循环方式
算数
已知y=1+1/3+1/5+…+1/2n-1:
求y<3时的最大n值以及最大n值对应的y值(y值保留小数点后2位)。
小丽游泳
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。
现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。
猴子吃桃
猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第n天吃以前发现只剩下一个桃子。
编写程序实现:据输入的天数计算并输出猴子共摘了几个桃子
求和
输入一个数,判断哪三个正整数的和与这个数字相等
什么可以代表True呢?1能不能代表True呢?还有没有别的代表方式?
你觉得下面代码有问题吗
a = 1
print(a+True)
什么时候该用for循环什么时候该用while循环
continue和break的作用记清楚了吗?
可曾听闻for-else循环与while-else这种循环结构?
编写代码解决以下问题
输入一个数字n,返回n以内的斐波那契数列。
注:斐波拉契数列由0和1开始,之后的数就是由之前的两数相加而得出:0, 1, 1, 2, 3, 5, 8, 13, 21
【样例输入】(输入大于3的整数值)
input a number please:200
【样例输出】
1,1,2,3,5,8,13,21,34,55,89,144,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。