python基础练习题(二)答案版

1.写一个方法,计算列表所有偶数下标元素的和(注意返回值)

def sum_even_index(lst):
  total = 0
  for i, x in enumerate(lst):
    if i % 2 == 0:
      total += x
  return total


lst = [8, 1, 5, 4, 5, 6, 3, 0]
print(sum_even_index(lst))

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

book_name = input("请输入你心中想到的一个书名:")
length = len(book_name)
print(f"你输入的书名是:《{book_name}》")
print("它的字符串长度是:", length)

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

def game(user1,user2):
    if user1==user2:
        print("你们俩喜欢相同的游戏")
    else:
        print("你们俩喜欢不相同的游戏")
    
    
user1=input("输入用户1喜欢的游戏名字:")
user2=input("输入用户2喜欢的游戏名:")
game(user1,user2)

4.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?

def game(user1,user2):
    if user1.upper()==user2.upper():
        print("你们俩喜欢相同的游戏")
    else:
        print("你们俩喜欢不相同的游戏")


user1=input("输入用户1喜欢的游戏名字:")
user2=input("输入用户2喜欢的游戏名:")
game(user1,user2)

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

import time

def transition(user):
    date=time.strptime(user, "%Y/%m/%d")
    print(f"{date.tm_year}年-{date.tm_mon}月-{date.tm_mday}日")


user=input("请输入日期(格式如2008/08/08):")
transition(user)

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

def transition(user):
    user=list(user)
    user.sort()
    user.reverse()
    user="".join(user)
    print(user)


user=input("请输入字符串:")
transition(user)

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

def transition(user):
    user=user.split(" ")
    user.reverse()
    for i in range(1,len(user)+1,2):
        user.insert(i," ")
    user="".join(user)
    print(user)


user=input("请输入字符串:")
transition(user)

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

s = "http://www.163.com?userName=admin&pwd=123456"
ls = s.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]))

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

sentence = input("请输入一句话:")
positions = []
for i in range(len(sentence)):
  if sentence[i] == "呵":
    positions.append(i)
if positions:
  print("这句话中有{}个'呵',它们的位置分别是:".format(len(positions)))
  for p in positions:
    print(p)
else:
  print("这句话中没有'呵'。")

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

sentence = input("请输入一句话:")
positions = []
for i in range(len(sentence) - 1):
  if sentence[i:i+2] == "呵呵":
    positions.append(i)
if positions:
  print("这句话中有{}个'呵呵',它们的位置分别是:".format(len(positions)))
  for p in positions:
    print(p)
else:
  print("这句话中没有'呵呵'。")

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

def is_palindrome(string):
  reversed_string = string[::-1]
  return string == reversed_string

strings = ["1234567654321", "上海自来水来自海上"]
for s in strings:
  if is_palindrome(s):
    print("{}是回文数".format(s))
  else:
    print("{}不是回文数".format(s))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚然.丞风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值