python练习

1、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数。
from typing import List
 
 
def number_of_duplicates(number: List):
    for i in range(0, len(number)):
        for j in range(i+1, len(number)):
            if number[i] == number[j]:
                return number[i]
 
if __name__ == '__main__':
    nums = [1, 2, 8, 3, 4, 5, 9, 6, 7, 9]
    d = number_of_duplicates(nums)
    print(f"数组中重复的是{d}")

 


2、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def number():
    ls = []
    for i in range(1, 10001):
        if (i % 5 == 0 or i % 6 == 0) and i % 30 != 0:
            ls.append(i)
    print(ls)
 
 
number()

 


3、写一个方法,计算列表所有偶数下标元素的和(注意返回值)
from typing import List
 
 
def even(number: List):
    count = 0
    for i in range(0, len(number)):
        if number[i] % 2 == 0:
            count += i
    return count
 
 
ls = [0, 2, 3, 4, 4, 8, 9]
cs = even(ls)
print(f"所有元素的下标和是{cs}")


4、根据完整的路径从路径中分离文件路径、文件名及扩展名
import os
 
 
a = "\etc\httpd\conf.d\html.conf"
print(f"分离出来的文件名是{os.path.basename(a)}")
print(f"分离出来的绝对路径是{os.path.dirname(a)}")

 

 

5、去掉字符串数组中每个字符串的空格
string = ["d f", "ds hf js", "sdfs o"]
# 先合并成一个整体的函数用,分隔开
string = ','.join(string)
print(string)
# 之后通过替换字符串将空格去掉,在用,隔开
string = string.replace(" ", "").split(',')
print(string)

 

6、让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日”。
string = "2008/08/08"
string = string.replace("/", "-")
print(string)

 

7、两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏
student1 = input("请输入1:")
student2 = input("请输入2:")
if student1 == student2:
    print("相同的游戏爱好")
else:
    print("游戏不相同")

 

8、上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
student1 = input("请输入1:")
student2 = input("请输入2:")
if student1.upper() == student2.upper():
    print("相同的游戏爱好")
else:
    print("游戏不相同")

 

9、接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。
A = input("请输入一句英文:")
# 分割字符串,默认空格为分割符
A = A.split()
A.reverse()
print(A)

10、接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”
B = input("请输入一个字符串:")
B = list(B)
B.sort()
B1 = "".join(B)
print(f"对字符串进行排序{B1}")
print(f"排序之后进行反转{B1[::-1]}")

 

 


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

address = "http://www.163.com?userName=admin&pwd=123456"
# 用来对字符串进行分割,分割后的字符串以列表形式返回
ls1 = address.split("?")
ls2 = ls1[0].split("/")
print(ls2[2])
ls3 = ls1[1].split("&")
ls4 = ls3[0].split("=")
print(ls4[1])

 

12、有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若书名长度大于10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。
book_name = [']
for i in range(0, len(book_name)):
    if len(book_name[i]) >= 10:
        A = book_name[i][0:8:1]
        B = A + '...'
        book_name[i] = B
print(book_name)


13、让用户输入一句话,找出所有"呵"的位置。

 

string = input()
c = 0
for i in string:
    if string[c] == '呵':
        print(c)
    c += 1
    

 

14、让用户输入一句话,找出所有"呵呵"的位置。

string = input()
c = 0
for i in string:
    if string[c] == '呵' and string[c+1] == '呵':
        print(c)
    c += 1


 

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

word = input("请输入一句话:")
ls = word.split('邪恶')
if len(ls) == 2:
    print('**'.join(ls))
else:
    print(' '.join(ls))

16、字符串内的字符排序(只按字母序不论大小写)
string = 'afefgHrtrefg'
string = string.lower()
lists = list(string)
lists.sort()
print(lists)
str1 = "".join(lists)
print(str1)

 

17、如何判定一个字符串中既有数字又有字母
# str.isalnum()-->如果字符串至少有一个字符,并且所有字符都是字母或者数字则返回True,否则返回False
# str.isalpha()-->如果字符串至少有一个字符并且所有字符都是字母或者中文则返回true
# str.isdigit()-->如果字符串至少有一个数字并且所有字符都是数字则返回true
s = input("输入需要判断的字符串:")
if (s.isalnum() and not s.isalpha()) and not s.isdigit():
    print("字符串{}里包含数字和字母".format(s))
else:
    print("字符串{}里并不是既包含字母又包含数字".format(s))


18、如何随机生成带数字和字母的字符串

 

import string
import random
s = string.ascii_letters + string.digits
s1 = ""
for i in range(1, 20):
    s1 += random.choice(s)
print(s1)
 

 
19、如何验证一个字符串中的每一个字符均在另一个字符串中出现过双层循环
s = input("请输入字符串A:")
s1 = input("请输入需要判断的字符串B:")
flag = True
for i in range(0, len(s1)):
    if s.find(s1[i]) == -1:
        flag = False
if flag:
    print("字符串B中{}的所有元素在A{}内".format(s1, s))
else:
    print("字符串B中{}不是所有元素都在A{}内".format(s1, s))

 

 

20、如何判断一个字符串是否为另一个字符串的子串
str_a = input('请输入字符串a:')
str_b = input('请输入字符串b:')
flag = str_a.find(str_b)
if flag == -1:
    print('字符串b不是字符串a的子串')
else:
    print('字符串b是字符串a的子串')

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值