meikkiie 发表于 2018-8-10 07:39:33

Python练习题(day1)

一、基本运算符  链式赋值
  a=b=c=2
  print(id(a),id(b),id(c))
  交叉赋值
  m=1
  n=2
  temp=m
  m=n
  n=temp
  print(m,n)
  m,n=n,m
  print(m,n)
  解压
  l=
  a,b,c,d=l
  print(a)
  print(b)
  print(c)
  print(d)
  a=l
  _=l
  _=l
  d=l
  a,_,_,d=l
  print(a,d)
  a,*_,d=l
  print(a)
  print(d)
  二、判断语句if else
  1、如果:女人的年龄>30岁,那么:叫阿姨
  age_of_girl=31
  if age_of_girl > 30:
  print('阿姨好')
  2、如果:女人的年龄>30岁,那么:叫阿姨,否则:叫×××
  age_of_girl=18
  if age_of_girl > 30:
  print('阿姨好')
  else:
  print('×××好')
  3、如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:看不上
  age_of_girl=18
  height=171
  weight=99
  is_pretty=True

  if age_of_girl >= 18 and age_of_girl < 22 and>  print('表白...')else:
  print('看不上')
  4、if嵌套,在表白的基础上继续:
  #如果表白成功,那么变白成功否则:打印表白失败
  age_of_girl=18
  height=171
  weight=99
  is_pretty=True
  seccess=True

  if age_of_girl >= 18 and age_of_girl < 22 and>  print ('去表白')
  if seccess:
  print ('表白成功')
  else:
  print ('表白失败')
  else:
  print ('看不上')
  5、如果:成绩>=90,那么:优秀
  如果成绩>=80且<90,那么:良好
  如果成绩>=70且<80,那么:普通
  其他情况:很差
  grade = input('pleade input your grade >>: ')
  if grade >= 90:
  print('优秀')
  elif grade >= 80:
  print('良好')
  elif grade >= 70:
  print ('普通')
  else:
  print ('很差')
  6、验证登录
  name = raw_input('please input your name:')
  password = raw_input('please input your password:')
  if name == 'test':
  if password == 'test':
  print('login success!')
  else:
  print('password is error!')
  else:
  print('name is error!')
  PS:此处之前用的是input来做交互式输入,结果一直报错,请注意input和raw_input这两者的区别!!!另外如果变量是与字符串对比一定要记得给字符传加上引号!!!
  7、根据用户输入内容打印其权限
  '''
  root --> 超级管理员
  test--> 普通管理员
  test1,test2 --> 业务主管
  其他 --> 普通用户
  '''
  name = raw_input('please input your name:')
  if name == 'root':
  print('超级管理员')
  elif name == 'test':
  print('普通管理员')
  elif name == 'test1' or name == 'test2':
  print('业务主管')
  else:
  print('普通用户')
  8、根据星期几决定做什么事情
  '''
  如果:今天是Monday,那么:上班
  如果:今天是Tuesday,那么:上班
  如果:今天是Wednesday,那么:上班
  如果:今天是Thursday,那么:上班
  如果:今天是Friday,那么:上班
  如果:今天是Monday,那么:出去浪
  如果:今天是Sunday,那么:出去浪
  '''
  today = raw_input('please input today is : ')
  if today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' or today == 'Thursday' or today == 'Friday':
  print('上班')
  elif today == 'Saturday' or today == 'Sunday':
  print ('出去浪')
  else:
  print('请输入正确的星期几!!')
  三、while循环
  1、打印数字
  1)打印0-10
  number = 0
  while number <= 10:
  print (number)
  number += 1
  2)打印0-10之间的偶数
  number = 0
  while number <= 10:
  if number%2 == 0:
  print (number)
  number += 1
  3)打印0-10之间的奇数
  number = 0
  while number <= 10:
  if number%2 != 0:
  print (number)
  number += 1
  2、循环嵌套与tag
  练习,要求如下:
  1) 循环验证用户输入的用户名与密码
  2 )认证通过后,运行用户重复执行命令
  3 )当用户输入命令为quit时,则退出整个程序
  第一种办法
  name = 'test'
  passport = 'test'
  while True:
  input_name = raw_input('Please input your name: ')
  input_password = raw_input('Please input your password: ')
  if input_name == name and input_password == passport:
  print('login success!!!')
  while True:
  input_cmd = raw_input('input your cmd: ')
  if not input_cmd:
  continue
  if input_cmd != 'quit':
  print('run <%s>' %input_cmd)
  continue
  else:
  break
  else:
  print('your name or passport is error: ')
  continue
  break
  第二种办法
  name = 'test'
  passport = 'test'
  tag = True
  while tag:
  input_name = raw_input('请输入你的名字:')
  input_passport = raw_input('请输入你的密码:')
  if input_name == name and input_passport == passport:
  print('恭喜你 登录成功!!!')
  while tag:
  cmd = raw_input('请输入你的命令:')
  if not cmd:
  continue
  if cmd == 'quit':
  tag = False
  else:
  print('运行 <%s>' %cmd)
  continue
  else:
  print('账户名或者密码有误!请重新尝试'
  以上程序有个不好的地方是账户密码错误的输入次数是无限次!!!
  3、while循环练习题
  1 使用while循环输出1 2 3 4 5 6   8 9 10 (参考之前的练习)
  2 求1-100的所有数的和
  number = 1
  sum = 0
  while number <= 100:
  sum += number
  number += 1
  print(sum)
  3 输出 1-100 内的所有奇数
  number = 1
  sum = 0
  while number <= 100:
  if number%2 == 1:
  sum += number
  number += 1
  print(sum)
  4 输出 1-100 内的所有偶数
  number = 1
  sum = 0
  while number <= 100:
  if number%2 == 0:
  sum += number
  number += 1
  print(sum)
  5 求1-2+3-4+5 ... 99的所有数的和
  number = 1
  sum = 0
  while number < 100:
  if number%2 == 1:
  sum += number
  else:
  sum -= number
  number += 1
  print(sum)
  6 用户登陆(三次机会重试)
  number = 0
  name = 'test'
  passport = 'test'
  while number < 3:
  input_name =raw_input('请输入你的账号:')
  input_passport =raw_input('请输入你的密码:')
  if input_name == name and input_passport == passport:
  print('恭喜你!登录成功')
  break
  else:
  print('账号或者密码有误!')
  number += 1
  7 猜年龄游戏
  允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
  count = 0
  age = 18
  while count < 3:
  input_age = input('请输入你猜的年龄:')
  if input_age == age:
  print('哇塞!猜对啦。。。')
  break
  print('猜错了,再试试')
  count += 1
  8 猜年龄游戏升级版
  允许用户最多尝试3次
  每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
  如果猜对了,就直接退出
  count = 0
  age = 18
  while True:
  if count == 3:
  Ans = raw_input('还想继续续玩吗?输入Y或者N:')
  if Ans == 'Y' or Ans == 'y':
  count = 0
  else:
  break
  input_age = input('请输入你猜的年龄:')
  if input_age == age:
  print('哇塞!猜对啦。。。')
  break
  print('猜错了,再试试')
  count += 1
  四、 练习题
  1、简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
  编译型(C、C++、Pascal/Object Pascal(Delphi)):相当于百度翻译,对程序翻译一次,拿着该翻译的结果去执行。
  优点:执行效率高
  缺点:开发效率低
  解释型(Python、JavaScript、Perl、Ruby):相当于同声传译,可以一边解释一边执行。
  优点:开发效率高
  缺点:执行效率低
  2、执行 Python 脚本的两种方式是什么
  使用python解释器(python test.py)或在系统下赋值成777,执行(./test.py)
  3、Pyhton 单行注释和多行注释分别用什么?
  单行注释用#,多行注释可以用三对双引号""" """
  4、布尔值分别有什么?
  True False
  5、声明变量注意事项有那些?
  1)变量名只能是 字母、数字或下划线的任意组合
  2)变量名的第一个字符不能是数字
  3)关键字不能声明为变量名
  6、如何查看变量在内存中的地址?
  id(变量)
  7、写代码
  1 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
  name = raw_input('please input your name:')
  password = raw_input('please input your password:')
  if name == 'seven' and password == '123':
  print('login success!')
  else:
  print('login faile!')
  2 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
  count = 0
  while count < 3:
  name = raw_input('please input your name:')
  password = raw_input('please input your password:')
  if name == 'seven' and password == '123':
  print('login success!')
  break
  else:
  count += 1
  3 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
  count = 0
  while count < 3:
  name = raw_input('please input your name:')
  password = raw_input('please input your password:')
  if ((name == 'seven' or name == 'alex') and password == '123'):
  print('login success!')
  break
  else:
  count += 1
  8、写代码
  a. 使用while循环实现输出2-3+4-5+6...+100 的和
  number = 2
  sum = 0
  while number < 100:
  if number%2 == 1:
  sum += number
  else:
  sum -= number
  number += 1
  print(sum)
  b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
  number = 0
  while number < 12:
  number += 1
  if number == 6 or number == 10:
  continue
  else:
  print(number)
  c.使用 while 循环实现输出 1-100 内的所有奇数
  number = 1
  sum = 0
  while number <= 100:
  if number%2 == 1:
  sum += number
  number += 1
  print(sum)
  d. 使用 while 循环实现输出 1-100 内的所有偶数
  number = 1
  sum = 0
  while number <= 100:
  if number%2 == 0:
  sum += number
  number += 1
  print(sum)
  9、现有如下两个变量,请简述 n1 和 n2 是什么关系?
  n1 = 123456
  n2 = n1
  n1和n2指向同一块内存地址,数值是123456
页: [1]
查看完整版本: Python练习题(day1)