Pytho第七次作业

作业1、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数

a = [1, 2, 3, 4, 5, 2]


def test_1(ls):
    for i in ls:
        b = ls.count(i)
        if b % 2 == 0:
            print(i)
            break


test_1(a)

Pytho第七次作业

 作业2、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)

def test_2():
    for i in range(10001):
        if i % 5 == 0 or i % 6 == 0:
            if i % 5 == 0 and i % 6 == 0:
                pass
            else:
                print(i, end="\t")


test_2()

Pytho第七次作业
    
作业3、写一个方法,计算列表所有偶数下标元素的和(注意返回值)

def test_3(ls):
    sum = 0
    i = 1
    while i < len(ls):
        sum += ls[i]
        i += 2
    return sum


ls = [1, 2, 3, 4, 5, 6, 7]
print("列表是:{},奇数下标元素和是:{}".format(ls, test_3(ls)))

Pytho第七次作业

 作业4、请使用函数完成选择、冒泡、插入三种排序

# 冒泡排序
def test_41(aList):
    n = len(aList)
    for i in range(0, n - 1):
        for j in range(0, n - i - 1):
            if aList[j] > aList[j + 1]:
                aList[j], aList[j + 1] = aList[j + 1], aList[j]


if __name__ == "__main__":
    li = [9, 8, 7, 6, 5, 4, 3, 2, 1]
    print(li)
    test_41(li)
    print(li)


# 选择排序
def test_42(aList):
    l = len(aList)
    for j in range(l):
        min_index = j
        for i in range(min_index + 1, l):
            if aList[min_index] > aList[i]:
                min_index = i
        aList[j], aList[min_index] = aList[min_index], aList[j]


if __name__ == "__main__":
    li = [99, 88, 77, 66, 55, 44, 33, 22, 11]
    print(li)
    test_42(li)
    print(li)


# 插入排序
def test_43(aList):
    n = len(aList)
    for i in range(n):
        j = i
        while j > 0:
            if aList[j] < aList[j - 1]:
                aList[j], aList[j - 1] = aList[j - 1], aList[j]
            j -= 1


if __name__ == "__main__":
    li = [999, 888, 777, 666, 555, 444, 333, 222, 111]
    print(li)
    test_43(li)
    print(li)

Pytho第七次作业
作业5、根据完整的路径从路径中分离文件路径、文件名及扩展名 

import os

path = "F:\python\视频\课堂笔记\第7天笔记.txt"
pathx, namex = os.path.split(path)
print(pathx)
print(namex)

Pytho第七次作业

 作业6.获取字符串中汉字的个数  

def test_6(char):
    count = 0
    for item in char:
        if 0x4E00 <= ord(item) <= 0x9FA5:
            count += 1
    return count


print(test_6("qwertyuiop啊是的发给和就看了在下从v吧呢吗"))

Pytho第七次作业

作业7.将字母全部转换为大写或小写

str_ = "You are the best!"
print(str_.upper())
print(str_.lower())

Pytho第七次作业

作业8.根据标点符号对字符串进行分行

import re

line = "qwertyuio, asdfghjk, zxcvbnm"
linex = re.findall(r"[\w']+", line)
print(linex)
result = " ".join(linex)
print(result)

Pytho第七次作业

作业9.去掉字符串数组中每个字符串的空格

string = ["q w e r t y u i o p", "a s d f g h j k l ", "z x c v b n m "]
string = ','.join(string)
string = string.replace(" ", "").split(',')
print(string)

Pytho第七次作业

 作业10.随意输入你心中想到的一个书名,然后输出它的字符串长度。 (len()属性:可以得字符串的长度)

book = str(input("请输入书名:"))
print(len(book))

Pytho第七次作业

作业11.两个学员输入各自最喜欢的游戏名称,判断是否一致,如
果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输
出你们俩喜欢不相同的游戏。

str1 = str(input("请输入游戏:"))
str2 = str(input("请输入游戏:"))


def test_11(str1, str2):
    if str1 == str2:
        print(str1)
    else:
        print(str1, str2)


test_11(str1, str2)

Pytho第七次作业 作业12.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?

str1 = str(input("请输入游戏:"))
str2 = str(input("请输入游戏:"))


def test_11(str1, str2):
    str1 = str1.upper()
    str2 = str2.upper()
    if str1 == str2:
        print(str1)
    else:
        print(str1, str2)


test_11(str1, str2)

Pytho第七次作业

 作业13.让用户输入一个日期格式如“2008/08/08”,将 输入的日
    期格式转换为“2008年-8月-8日”。

time = input("请输入日期:")
a = time.split("/")
print("转换后日期:")
timex = "{}年-{}月-{}日".format(a[0], int(a[1]), int(a[2]))
print(timex)

Pytho第七次作业

 作业14.接收用户输入的字符串,将其中的字符进行排序(升
序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。

ls1 = 'cabed'
ls2 = list(ls1)
ls2.sort()
ls3 = ''.join(ls2)
print(ls3)
ls2.reverse()
ls4 = ''.join(ls2)
print(ls4)

Pytho第七次作业

 作业15.接收用户输入的一句英文,将其中的单词以反序输
出,“hello c sharp”→“sharp c hello”。

a_word = input("请输入一句英文:")
x = a_word.split(" ")
y = x[::-1]
x1 = " ".join(y)
print(x1)

Pytho第七次作业

 作业16.从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456

url = 'http://www.163.com?userName=admin&pwd=123456'
ls = url.split("/")
s1 = ls[2]
ls2 = s1.split("?")
print("域名是:{}".format(ls2[0]))
s1 = ls2[1]
ls3 = s1.split("&")
s1 = ls3[0]
ls4 = s1.split("=")
print("用户名是:{}".format(ls4[1]))

Pytho第七次作业
作业17.有个字符串数组,存储了10个书名,书名有长有短,现
在将他们统一处理,若书名长度大于10,则截取长度8的
子串并且最后添加“...”,加一个竖线后输出作者的名字。

ls = ["西游记之齐天大圣", "三国演义之义结金兰", "红楼梦之我是贾宝玉", "水浒传之一百零八将"]

dir = {"西游记之齐天大圣": "吴承恩", "三国演义之义结金兰": "罗贯中", "红楼梦之我是贾宝玉": "曹雪芹", "水浒传之一百零八将": "施耐庵"}
for i in range(0, len(ls)):
    s = ls[i]
    if len(s) > 7:
        s = s[0:7] + "...|" + str(dir[ls[i]])
    ls[i] = s
print(ls)

Pytho第七次作业
作业18.让用户输入一句话,找出所有"呵"的位置。

word = input("请输入一段话!")
ls = []
for i in range(0, len(word)):
    if word[i] == "呵":
        ls.append(i + 1)

print("呵的位置是{}".format(ls))

Pytho第七次作业

作业19.让用户输入一句话,找出所有"呵呵"的位置。

word = input("请输入一段话!")
ls = []
for i in range(0, len(word) - 1):
    if word[i] == "呵" and word[i + 1] == "呵":
        ls.append(i + 1)

print("呵呵的位置是{}".format(ls))

Pytho第七次作业

 作业20.让用户输入一句话,判断这句话中有没有邪恶,如果有邪
恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变
成”老牛很**”;

word = input("请输入字符串:")
print("邪恶消失后:{}".format(word.replace("邪恶", "**")))

Pytho第七次作业

作业21.如何判断一个字符串是否为另一个字符串的子串 
    find()  
    index()
    双层循环完成
    ??

str1 = input("请输入字符串:")
str2 = input("请输入需要判断的字符串:")
flag = True
if str1.find(str2) != -1:
    flag = False
if flag:
    print("字符串{}不是{}的子串".format(str2, str1))
else:
    print("字符串{}是{}的子串".format(str2, str1))

Pytho第七次作业
作业22.如何验证一个字符串中的每一个字符均在另一个字符串
中出现过
    双层循环

word1 = input("请输入字符串:")
word2 = input("请输入需要判断的字符串:")
flag = True
for i in range(0, len(word2)):
    if word1.find(word2[i]) == -1:
        flag = False
if flag:
    print("字符串{}都在{}中".format(word2, word1))
else:
    print("字符串{}不都在{}中".format(word2, word1))

Pytho第七次作业

 作业23.如何随机生成无数字的全字母的字符串

import random
import string

random_str = ''.join(random.sample(string.ascii_lowercase, 10))

print(random_str)

Pytho第七次作业

 作业24.如何随机生成带数字和字母的字符串

import random
import string

random_str = ''.join(random.sample(string.ascii_letters + string.digits, 10))

print(random_str)

Pytho第七次作业

 作业25.如何判定一个字符串中既有数字又有字母

string = input("请输入数据:\n")
if not (string.isdigit()) and not (string.isalpha()):
    print("该数据中有数字也有字母")

Pytho第七次作业

 作业26.字符串内的字符排序(只按字母序不论大小写)

str_list = ['d', 's', 'a', 'i', 'j', 'A', 'S', 'D', 'U', 'N']
new_list = sorted(str_list, key=str.lower)
print(new_list)

Pytho第七次作业

 作业27.判断一个字符是否是回文字符串(面试题)
    "1234567654321"
    "上海自来水来自海上"

def test_27(count):
    for i in range(0, len(count) // 2):
        if count[i] != count[len(count) - i - 1]:
            return False
        return True


word = "1234567654321"
word1 = "上海自来水来自海上"
print(test_27(word))
print(test_27(word1))

Pytho第七次作业

上一篇:建议收藏!2020阿里面试题(JVM+Spring Cloud+微服务)上


下一篇:Pytho实现百度AI平台签名,获取access_token