1.选择结构
if(条件表达式):
<语句块>
else:
<语句块>
二分支结构的简洁表达式 print(" "if()else" ")
if -elif-else
选择结构的嵌套,c语言else是与最近的进行匹配,但是py中根据缩进进行匹配
2.循环结构
for与while
while:while<条件表达式>:
<语句块>
while用在循环次数并不是很明确的情况下
for<循环变量> in <可迭代对象 iterator>:
<语句块>
可迭代对象是什么?
从头到尾可以遍历的结构
tuple元组:(1,2,3) list列表:[1,2,3] set集合(1,2,3) dic字典(1:dic,2:cid)
sum=0
for i in range(1,11):
sum += i
print(sum)
range用于准确个数循环
range(start,stop,step)
易错:
py中在循环体中改变i不会对循环次数产生影响,c语言中对循环次数产生影响
例输出一个字符串中所有大写字符
str= input("请输入一个字符串")
for letter in str:
if letter.isupper():
print(letter)
列表中的元素可以是类型不一致,for language in languages:
list = [8,9,1,2,4,3,7,0]
print(list)
print( [x for x in list if x%2 == 0])
练习:一个台阶有n级,每次跳一步或两步,求到达顶部共有多少种方案
f(n)= f(n-1)+f(n-2)
输出一个斐波那契数列<100(利用一个变量a来保存它的上一次的内容)
a,b=0,1
while b<100:
print(b,end=',')
a,b=b,a+b
循环的辅助控制 break与continue(这次循环不执行了,但是没有绝对跳出整个循环,下面还会执行下一次循环)
循环的else扩展:表示只有循环正确结束才会执行的(无break结束与return结束)
'''判断标识符是否合法'''
n = int(input())
for i in range(n):
identifier = input()
for ch in identifier:
if ch.isalpha() or ch.isdigit() or ch == '_':
continue
break
else:
if identifier[0].isdigit():
print('no')
else:
print('yes')
continue
print('no')