#20190131
'''
检查ipV4的有效性,有效则返回True,否则返回False,(提示使用split函数进行分割)
'''
import os
def print_ping_ip(ip):
 s = os.system('ping '+ip)
 if s == 0:
  return True
 else:
  return False

'''
检测密码强度
c1 : 长度>=8
c2: 包含数字和字母
c3: 其他可见的特殊字符
强:满足c1,c2,c3
中: 只满足任一2个条件
弱:只满足任一1个或0个条件
'''
import string
def print_mima_jianyan(stra):
 flag = 0
 num = 0
 digit = 0 
 if len(stra) >= 8:
  flag = 1
 for i in stra:
  if i in string.ascii_letters:
   num = 1
  elif i in string.digits:
   digit = 1
  elif i in string.punctuation:
   flag += 1
 #num_sum = num+digit
 result = num+digit+flag
 if (result <= 1) or (flag == 0 and num+digit == 2):
  print("弱:只满足任一1个或0个条件") 
 if (flag >= 2 and num+digit <= 1) or (flag == 1 and num+digit == 2):
  print("中: 只满足任一2个条件")
 if flag >= 2 and digit+num >=2:
  print("强:满足c1,c2,c3")

'''
求两个集合的交集和并集
'''
def print_jiaoji_bingji(lista,listb):
 num_lista = []
 num_listb = []
 for i in lista:
  if i in listb:
   num_lista.append(i)
  else:
   num_listb.append(i)
 for j in listb:
  if j not in num_lista:
   num_listb.append(j)
 print(lista)
 print(listb)
 print("交集:",num_lista)
 print(num_listb)
 print("并集:",num_lista+num_listb)

'''
判断一个字符串是否为回文字符串
'''
def print_huiwen(stra):
 if stra[::] == stra[::-1]:
  print(stra," 是回文")
 else:
  print("不是回文!!")

#20190201
'''
不区分大小写对包含多个字符串对象的列表进行排序,显示排序后的结果还需要显示大小写不变的原字符串
'''
def print_str_sort(strlist):
 print("原字符:",strlist)
 strlist.sort()
 print("排序后的字符:",strlist)

'''
一个数如果恰好等于它的因子之和,这个数就称为完数,例如6的因子为1,2,3,而6=1+2+3,因此6是完数,编程找出1000之内的所有完数,并按6 its factors are 1,2,3这样的格式输出
'''
def print_wangshu():
 num_dict = {}
 num = 0
 for i in range(1001):
  for j in range(1,i):
   if i%j == 0 and i not in num_dict.keys():
    num_dict[i] =[j]
   elif i%j == 0 and i in num_dict.keys():
    num_dict[i].append(j)
 for k,v in num_dict.items():
  if sum(v) == k:
   print(k," its factors are ",v)

'''
写一个函数,识别输入字符串是否是符合 python 语法的变量名
(不能数字开头、只能使用数字和字母以及‘_’)
'''
import string
def print_variable():
 num = input("请输入一个变量名:")
 if num[0] in string.digits:
  return "python变量名不能以数字开头"
 for i in num:
  if (i not in string.digits) and (i not in string.ascii_letters) and (i not in '_'):
   return "只能使用数字和字母以及‘_’"
 return "符合python变量命名"

'''
一个句子中的所有数字和标点符号删除
'''
def print_str_del_digit_punctuation(stra):
 num = ''
 for i in stra:
  if (i not in string.digits) and (i not in string.punctuation):

num += i
 print("原来的字符:",stra)
 print("筛选后的字符:",num)

'''
自定义实现strip()---只能移除头尾指定的字符串
'''
def print_strip(stra,sep):
 num = ''
 if stra[0] == sep:
  num = stra[1:]
 elif stra[-1] == sep:
  del stra[-1]
 print(stra)

pyhton习题20190201的更多相关文章

  1. Pyhton核心编程-Chap2习题-DIY

    在学Python,在看<Python核心编程>的pdf,做了Chap2的题目,答案为DIY # Filename: 2-11.py # Author: ChrisZZ mylist = [ ...

  2. pyhton 核心编程 正则表达式习题

    方案一 import re #1. 识别下列字符串:“bat,” “bit,” “but,” “hat,” “hit,” 或 “hut” import re def test1(self): bt = ...

  3. 001_02-python基础习题答案

    python 基础习题 执行 Python 脚本的两种方式 如:脚本/python/test.py 第一种方式:python /python/test.py 第二中方式:在test.py中声明:/us ...

  4. Python基础语法习题一

    Part 1 习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型 2.执行 Python 脚本的两种方式是什么 3.Pyhton 单行注释和多行注释分别用什么 ...

  5. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  6. 《python核心编》程课后习题——第三章

    核心编程课后习题——第三章 3-1 由于Python是动态的,解释性的语言,对象的类型和内存都是运行时确定的,所以无需再使用之前对变量名和变量类型进行申明 3-2原因同上,Python的类型检查是在运 ...

  7. 习题 5: 更多的变量和打印 | 笨办法学 Python

    一. 简述 “格式化字符串(format string)” -  每一次你使用 ' ’ 或 " " 把一些文本引用起来,你就建立了一个字符串. 字符串是程序将信息展示给人的方式. ...

  8. 【WebGoat习题解析】Parameter Tampering->Bypass HTML Field Restrictions

    The form below uses HTML form field restrictions. In order to pass this lesson, submit the form with ...

  9. python核心编程(第二版)习题

    重新再看一遍python核心编程,把后面的习题都做一下.

随机推荐

  1. 克隆对象__clone()方法

    有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象, ...

  2. Asp.Net MVC Identity 2.2.1 使用技巧(八)

    一.添加管理链接 在View/Shared/_layout.cshtml,在页面导航上(28行)添加如下代码: @*通过身份验证并确认用户属于Admin角色显示管理菜单*@ @if (Request. ...

  3. 理解单链表的反转(java实现)

    要求很简单,输入一个链表,反转链表后,输出新链表的表头.   反转链表是有2种方法(递归法,遍历法)实现的,面试官最爱考察的算法无非是斐波那契数列和单链表反转,递归方法实现链表反转比较优雅,但是对于不 ...

  4. 带参sql$和#的区别(注解)

    主要区别就是#带双引号,$不带 例如:#{id}代表'id',${id}代表id 下面是Mybatis @Select注解方式的sql @Select("select id,name fro ...

  5. Nginx学习.md

    正常运行的必备配置 user Syntax: user user [group]; Default: user nobody nobody; Context: main 指定运行worker进程的用户 ...

  6. 用Qt制作的Android独立游戏《吃药了》公布

           一个多月的努力最终有了回报,我自己研究制作的独立游戏<吃药了>.最终在360应用商店上线了.        这一款游戏呢.使用的是Qt开发的.事实上开发这款简单的应用之前.我 ...

  7. Java并发案例02---生产者消费者问题

    package example; import java.util.LinkedList; import java.util.concurrent.TimeUnit; public class MyC ...

  8. python中的类(二)

    python中的类(二) 六.类的成员 字段:普通字段,静态字段 eg: class Province(): country=’中国’ #静态字段,保存在类中,执行时可以通过类或对象访问 def __ ...

  9. UVA529 Addition Chains

    嘟嘟嘟 还是\(IDA*\). 这道题是\(ZOJ\)的加强版,\(n\)从\(100\)扩大到了\(10000\),所以必须有非常给力的剪枝才能过. 除了迭代加深,还要加上估价函数:对于当前数\(x ...

  10. 容器适配器(一):queue

    除了标准的顺序容器外,STL还提供了3种容器适配器,queue,priority_queue和stack 适配器是对顺序容器的包装,它的作用是简化接口. queue接口十分的简单,只有8个方法.再加上 ...