python学习day02作业

1.数组

题目描述:请设计一个高效算法,查找数组中未出现的最小正整数。
给定数组的大小n和整数数组A,请返回数组中未出现的最小正整数。保证数组大小小于等于500
测试样例:输入: 4 -1 2 3 4输出: 1
代码:从1开始找,第一个没有出现的正整数就是最小的

s = raw_input("please input Num:")
 s = s.split()
 Num = 1
 if len(s) > 500:
     print "The most of Num is 500!!!"
     exit()
 for i in range(0, len(s)):
     for i1 in s:
         if i1.startswith("-"):
             s.remove(s[s.index(i1)])
             s = s
 if min(s) != "1":
     print "The Min Num:1"
     exit()
 for i3 in range(0,len(s)):
     if str(Num) in s:
         Num += 1
         i3 = 0
 print "The Min Num:%d" % (Num)

2.字符集合

题目描述:
输入一个字符串,求出该字符串包含的字符集合
输入描述:
每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。
输出描述:
每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出
示例1:输入:abcqweracb     输出:abcqwer
代码:

 s = raw_input("请输入:")
 li = (list(s))
 if len(s) > 100:
     print "The max length of the string is 100!!"
 for i in s:
     if i == " " or not i.isalpha():
         print "只能输入数字!!!"
         exit()
 for i1 in range(len(s)):
     for i2 in range(i1 + 1, len(s)):
         if li[i1] == li[i2]:
             li[i2] = " "
 print (" ".join(li)).replace(" ", "")

3.给定一个正整数,编写程序计算有多少个质数(0~输入的整数之间)。输入值小于1000.
代码

count = 0
max = input("请输入最大值:")
for num in range(0,max+1):
    if num>1:
        for i in range(2,num):
            if (num % i) == 0:
            break
            count += 1
    else:
        print num

4.句子反转

    • 题目描述:

      给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

    • 输入描述:

      输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)

    • 输出描述:

      对于每个测试示例,要求输出句子中单词反转后形成的句子

示例1:输入hello xiao mi 输出mi xiao hello
代码:
 

print " ".join(raw_input("请输入一个句子:").split()[::-1])
  1. 题目描述: 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
    • 输入描述: 每个测试输入包含2个字符串

    • 输出描述: 输出删除后的字符串

    • 示例1:

输入
They are students.
aeiou 输出
Thy r stdnts.

代码:
 

while True:
    a = raw_input("字符串A:")
    b = raw_input("字符串B:")
    for i in b:
        a=a.replace(i,"")
    else:
        print a
  1. # (2017-网易-笔试编程题)-字符串练习

小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母 列可能不连续。 例如:
小易不喜欢”ABBA”,因为这里有两个连续的’B’
小易不喜欢”THETXH”,因为这里包含子序列”THTH”
小易喜欢”A”,”ABA”和”ABCBA”这些单词
给你一个单词,你要回答小易是否会喜欢这个单词。

  • 输入描述: 输入为一个字符串,都由大写字母组成,长度小于100

  • 输出描述: 如果小易喜欢输出”Likes”,不喜欢输出”Dislikes”

示例1 :

    AAA 输出
    Dislikes

代码:

s = raw_input("please input upper:")
 if len(s) >= 100:
     print "The Max length is 100!!"
     exit()
 for i in s:
     if not i.isupper():
         print "Dislikes"
         exit()
 s = list(s)
 for i1 in range(0,len(s)-1):
     if s[i1] == s[i1 + 1]:
         print "Dislikes"
         exit()
 for i2 in range(len(s)):
     for i3 in range(i2 + 2, len(s)):
         if s[i2] == s[i3]:
             for i4 in range(i3, len(s)):
                 if s[i2 + 1] == s[i4]:
                     print "Dislikes"
                     exit()
 print "Likes"

猜你喜欢

转载自blog.csdn.net/qq_41636653/article/details/82625371