2018年6月14日【Python学习笔记】

2018-06-15  本文已影响0人  SlashLife

一、for循环

python中循环:for循环、while循环(一个操作需要重复执行多次,这个时候就考虑使用循环)

循环次数:由列表中的数据的个数来决定

去获取字符串中的每一个字符

  str1 = 'abcdefaaacdscd'
  for char in str1:
      print(char)

去统计一个字符串中'a'出现的次数

  count = 0
  for char in str1:
      if char == 'a':
          count +=1
  print(count)

二、if条件语句

if elif else 都是关键字,需要能读能写(背)

注意:冒号后边的语句块和冒号所在的语句里要保持一个缩进。

例子:
age=20
要求:判断年龄是否大于18,如果大于18就输出'成年人'

  if age > 18:
      print('成年人')

练习:判断一个数是否是偶数,如果是就打印'xxx是偶数'

  num =18
  if num % 2==0:
      print('%d是偶数'%(num))

if 条件语句:
执行语句块1
else:
执行语句块2

判断条件语句是否为true,如果是true,就执行执行语句块1,否则执行执行语句块2

  num=13
  if num %2 ==0:
      print('%d是偶数'%(num))
  else:
      print('%d是奇数'%(num))
扩展知识:
  input():从控制台获取键盘输入的一个字符串,以回车结束。
  1.将其他的数据转换成数字
  int():将其他的数据转换成int类型数据

  float()  将其他的数据转换成浮点型数据

  bool()   将其他的数据转换成布尔值

数字-->布尔:非0是true,0是false

  print(bool(12.8))
  print(bool(-12.9))
  print(bool(0.0))

字符串转换成布尔:除了空串('')是false,其他都是true

  print(bool('abd'))
  print(bool(''))
注意:可以在if或者while循环后的条件语句,可以不是结果为true、false的表达式,也可以是其他数据类型的表达式,判断的时候就看这个值转换成bool后的结果是true还是false
  if 'aa':
      print('aaa')

判断一个字符串是否是空串,如果不是就直接打印这个字符串,否则打印空串

  str1=''
  if str1:
      print(str1)
  else:
      print('空串')

或者

  if str1 !='':
      print(str1)
  else:
      print('空串')

str() 将其他的数据转换成字符串。所有的数据类型的数据都可以转换成字符串

  num=12.56
  print(int(num))  #将浮点数转换成整数(直接去掉小数部分)

  bool1=True
  print(int(bool1))  #将布尔值转换成整数,True-->1  False-->0

  str1='-129'
  print(int(str1))    #只有纯数字字符串或者纯数字字符串前有+-号的才能转换成相应的整数
练习:输入一个数,如果这个数大于10,就输出它的2倍值。否者输出这个数的2次幂

比较运算符和+,在运算的时候,两边可以都是字符串,也可以都是数字。但是不可以一样一个

  inputvalue=input('请输入一个数字:')
  print(type(inputvalue))
  new_value=int(inputvalue)
  if new_value > 10:
      num=new_value*2
      print(num)
  else:
      num=new_value**2
      print(num)
if -elif-elif-else

给一个成绩,判断成绩是优秀(90-100)、良好(80-89)、中等(60-79)、不及格(60以下)

  grade = -10
  if grade < 60:
      if grade < 0:
          print('成绩有误')
      else:
          print('不及格')
  elif grade <= 79:
      print('中等')
  elif grade <=89:
      print('良好')
  elif grade <=100:
      print('优秀')
  else:
      print('成绩有误')

练习:
给年龄,判断年龄处于:婴儿(0-1岁)、儿童(2-4岁)、少年(5-12岁)、青年(13-18岁)、成年(19-40岁)、中年(41-60岁)、老年(60以上)

  age=input('请输入年龄:')
  print(type(age))
  n_age=int(age)
  if 0 <= n_age <=1:
      print('婴儿')
  elif 1 < n_age <=4:
      print('儿童')
  elif 4 < n_age <=12:
      print('少年')
  elif 12 < n_age <=18:
      print('青年')
  elif 18 < n_age <=40:
      print('中年')
  elif 40 < n_age <=60:
      print('中年')
  elif 60 < n_age:
      print('老年')
  else:
      print('输入错误')

pass:占位的,防止因为没有写块结构而出现语法错误。
说明:python中没有switch语法。

  if age:
      pass

打印数字1到100

1.range函数:可以生成一个数值范围
常见三种用法

用法1:range(n),生成0 ~ n-1的值
  print(range(10))
  for x in range(10):
      print(x)
用法二:range(m,n),生成 m ~ n-1的数
  for x in range(2,10):
      print(x)

  for x in range(1,101):
      print(x)

打印0-100之间所有的偶数

  for x in range(101):
      if x % 2== 0:
          print(x)
用发三:range(m,n,step从m开始每step取一个数,取到n前一个数为止
  for x in range(1,100,2):
      print(x)

不通过字符串相乘,打印10遍"="

注意:如果循环中的变量取到的值没有意义,循环只是单纯的控制次数,这个时候for后面的变量名一般用"_"代替
  for _ in range(10):
      print('=',end='')
  print(" ")

求1+2+3+...+100

  num=0
  for x in range(1,101):
      num=num+x  #也可以:num+=x
  print(num)

求10!的阶层.n!=123.。。*10

  sum1=1
  for x in range(1,101):
      sum1=sum1*x  #也可以:sum1*=x
  print(sum1)

三、while 条件语句

while 条件语句:
循环体
执行过程:判断条件语句的结果是否为true,如果为true就执行一次循环体。执行完循环体后再去判断条件语句是否为true,为真的话又执行循环体。重复这个过程,直到条件语句的结果为false。
for循环可以实现的操作,while循环都可以

打印1-100

  num=1
  while num <=100:
      print(num)
      num += 1

计算1+2+3...+100

  num=0
  sum1=0
  while  num < 100:
      num+=1
      sum1 += num
  print(sum1)

求1-100中所有偶数的和

  num=1
  sum1=0
  while num<101:
      if num%2==0:
          sum1+=num
      num+=1
  print(sum1)

方法二:

  num=0
  sum1=0
  while num<=100:
      sum1+=num
      num+=2
  print(sum1)
上一篇下一篇

猜你喜欢

热点阅读