1. 选择结构
1.1 语法结构
单选择结构
x=int(input('请输入分数:'))
if x>=90:
print('A')
双选择结构
x=int(input('请输入分数:'))
if x>=90:
print('A')
else:
print('まだまだ')
多选择结构
x=int(input('请输入分数:'))
if x>=90:
print('A')
elif x>80:
print('B')
elif x>=60:
print('C')
else:
print('不及格')
复杂条件语句
x=int(input('请输入分数:'))
if x<60:
print('不及格')
elif x>=60 and x<80:
print('C')
elif x>=80 and x<=90:
print('B')
else:
print('A')
b=int(input())
if b<751 or b>9484:
print('hahaha')
嵌套结构
x=int(input('请输入分数:'))
if x>0 and x<=100:
if x<60:
print('不及格')
elif x>=60 and x<80:
print('C')
elif x>=80 and x<=90:
print('B')
else:
print('A')
else:
print('error,请重新输入')
练习
1.判断周几
x=int(input('今日は何曜日:'))
if x>=0 and x<=7:
if x==1:
print('月曜日')
elif x == 2:
print('火曜日')
elif x == 3:
print('水曜日')
elif x == 4:
print('木曜日')
elif x == 5:
print('金曜日')
elif x == 6:
print('土曜日')
elif x == 7:
print('日曜日')
else:
print('Error')
2.判断大小
x=int(input('请输入x值:'))
y=int(input('请输入y值:'))
if x!=y:
if x>y:
print('x大')
else:
print('y大')
else:
print('请重新输入')
3.判断闰年
a=int(input('请输入一个年份'))
if (a%4==0 and a%100!=0) or (a%400==0):
print('这是闰年')
else:
print('这不是闰年')
4.判断登录
User={'idName':input('请输入您的用户名:'),'password':int(input('请输入您的密码:'))}
if User['idName']=='rongda' and User['password']==123:
print('Successfully login!')
else:
print('check your id or password for a second time')
5.判断水仙花数
x=int(input('请输入一个三位数:'))
a=x//100
b=(x-a*100)//10
c=x-a*100-b*10
# print(a,b,c)
if x==a**3+b**3+c**3:
print('是一个水仙花数')
else:
print('不是水仙花数')
2.循环结构
2.1 while循环
给定条件判断成立时执行循环,否则退出
count = 0
while count<10:
print('这个数字是:',count)
count+=1
print('输出完成')
练习.计算1到100的数列和
a=0;x=0
while a<100:
a+=1
x=x+a
print(x)
找出1至100中所有的奇数
a=0
while a<100:
a+=1
if a%2!=0:
print(a)
2.2 for循环
直接遍历
lt=['wfcwf','afe',2,True]
for i in lt:
print(i)
使用range()遍历
lt=['wfcwf','afe',2,True]
for i in range(len(lt)):
print(lt[i])
遍历字典
dict1={'name':'able','age':'30','hobby':'swmming'}
for a,b in dict1.items():
print(a,b)
练习
- 1-2+3-4…99
i=0;j=1;a=0;b=0
while i<100 and j<100:
i+=2
j+=2
a+=i
b+=j
print(b-a)
i = 0
j = 1
while j < 100:
if j % 2 == 0:
i-=j
else:
i += j
j += 1
print(i)
a=0;b=0
for i in range(0,100,2):
a+=i
for j in range(1,100,2):
b+=j
print(b-a)
- 13亿人口多少年后涨到26亿
x=13;n=0
while x<26:
x*=1.008
n+=1
print(n)
3.循环嵌套
i=1
while i<6:
j=0
while j<=i:
print('*',end=(''))
j+=1
i+=1
print('')
for i in range(1,6):
for j in range(0,i):
print('*',end=(''))
print('')
练习
- 打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d="%(i,j),i*j,sep=(''),end=('\t'))
print()
print()
for i in range(1,10):
for j in range(i,10):
print("%d*%d=" % (i, j), i * j, sep=(''), end=('\t'))
print()
print()
for i in range(1,10):
for j in range(1,i):
print(' '*5,end=('\t'))
for j in range(i,10):
print("%d*%d=" % (i, j), i * j, sep=(''), end=('\t'))
print()
print()
for i in range(9,0,-1):
for j in range(i,0,-1):
print(' ' * 5, end=('\t'))
for j in range(9,i-1,-1):
print("%d*%d=" % (i, j), i * j, sep=(''), end=('\t'))
print()
100-1000中的水仙花数
for i in range(100,1000):
if(i//100)**3+(i%100//10)**3+(i%10)**3==i:
print(i,end=(' '))
2. 五位回纹数
b=0
for i in range(10000,100000):
if (i//10000==i%10) and (i%10000//1000==i%100//10):
print(i,end=(' '))
b+=1
print('\n')
print(b)
3. 冒泡排序
小>>大
相邻两个元素进行比较,小的放前,大的换后,重复此操作直到最后.
a=[7,5,-2,6]
for i in range(len(a)-1):
for j in range(len(a)-1-i):
# print(j,end=(' '))
if a[j]<a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
推导式
it=[i for i in range(1,11)]
print(it)
生成器generator
一边循环一边计算,从而节省大量的空间
生成器可以被用作控制循环的迭代行为, 它使用yield返回值函数,每次调用之后会暂停;使用next()函数进 行调用,计算出他的下一个元素的值,直到计算出最后一个元素,
循环控制
- break
-在语句块执行过程中终止循环,并且跳出整个循环
for i in range(10):
if i == 4:
break
print(i)
- continue
在语句块执行过程中终止当前循环,跳出该 次循环,执行下一次循环
i=100
while i >0:
i-=1
if i % 2 ==0:
continue
print(i)
- pass
是空语句,是为了保持程序结构的完整性
for letter in 'python':
if letter == 'h':
pass
print ('占个位')
print(letter)
练习.
- 输出三次错误及退出
i=0
while i<3:
User = {'idName': input('请输入您的用户名:'), 'password': int(input('请输入您的密码:'))}
if User['idName'] == 'rongda' and User['password'] == 123:
print('Successfully login!')
break
else:
i+=1
print('Resign your id or password for a second time','you only have',3-i,'chance' )
if i==3:
print('Sorry, your chance has already run out' )
- 1,2,3,4组成各位互不相同的三位数
g=0
for i in range(1,5):
for j in range (1,5):
for k in range (1,5):
if i!=j and i!=k and j!=k:
g+=1
print(i*100+j*10+k,end=(' '))
print(g)