ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Pytho第七次作业

2022-01-18 22:02:34  阅读:188  来源: 互联网

标签:Pytho 作业 str1 aList test 字符串 ls 第七次 print


作业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)

 作业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()


    
作业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)))

 作业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)


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

import os

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

 作业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吧呢吗"))

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

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

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

import re

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

作业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)

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

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

作业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)

 作业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)

 作业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)

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

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

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

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

 作业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]))


作业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)


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

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

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

作业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))

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

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

作业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))


作业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))

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

import random
import string

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

print(random_str)

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

import random
import string

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

print(random_str)

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

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

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

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

 作业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,作业,str1,aList,test,字符串,ls,第七次,print
来源: https://blog.csdn.net/weixin_59328152/article/details/122546631

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有