python基础操作练习题

这篇具有很好参考价值的文章主要介绍了python基础操作练习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用版本:python 3.6.8

IDE:pycharm

前言

这些练习题是在神经网络与深度学习课程上老师提供的,原因是有些同学没学过python,作为简单的练手习题。

题目都很简单,加上python本身也比较简单,有些题目的作答可以一行代码实现(虽然可读性就下降了)。

练习题

2.1 数位之和

编写程序,输入一个正整数,然后输出各位数字之和。
例如,输入字符串1234,输出10。

from functools import reduce
from operator import add

print(reduce(add, map(int, list(input()))))

2.2 字符串翻转

编写程序,输入一个字符串,输出翻转(首尾交换)后的字符串,要求使用内置函数实现。
例如,输入字符串12345,输出54321。

print(''.join(reversed(input())))

2.3 最大值

编写程序,输入一个包含若干整数的列表,输出列表中的最大值。
例如,输入[1, 2, 3, 4, 5, 888],输出888。

print(max(eval(input())))

2.4 类型转换——整数转字符串

编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。
例如,输入[1, 2, 3, 4, 5, 888],输出['1', '2', '3', '4', '5', '888']

print(list(map(str, eval(input()))))

2.5 filter

编写程序,输入一个包含若干任意数据的列表,输出该列表中等价于True的元素组成的列表。
例如,输入[1, 2, 0, None, False, 'a'],输出[1, 2, 'a']。

print(list(filter(None, eval(input()))))

2.6 指定key排序

编写程序,输入一个包含若干整数的列表,输出一个新列表,新列表中奇数在前偶数在后,并且奇数之间的相对顺序不变,偶数之间的相对顺序也不变。

nums = eval(input())
print(sorted(nums, key=(lambda x: x%2), reverse=True))

3.1 列表推导式与列表求和

阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。编写程序,生成一个列表,其中元素为每个棋盘格子里米的粒数,并输出这些数字的和,也就是一共需要多少粒米。
要求使用列表推导式。

from functools import reduce
from operator import add
print(reduce(add, [2**x for x in range(64)]))

3.2 列表推导式if筛选

编写程序,输入一个包含若干整数的列表,输出由其中的奇数组成的新列表。
例如,输入[1,2,3,4,5,6,7,8],输出[1, 3, 5, 7]。
要求使用列表推导式。

data = eval(input())
print([x for x in data if x%2==1])

3.3 向量内积

编写程序,输入两个包含若干整数的等长列表表示两个向量,输出这两个向量的内积。
例如,输入[1,2,3]和[4,5,6],内积计算方法为1*4 + 2*5 + 3*6 = 32,输出32。
要求使用列表推导式。

from functools import reduce
from operator import add

x1 = eval(input())
x2 = eval(input())

print(reduce(add, [a*b for (a, b) in zip(x1, x2)]))

3.4 找最大值与其下标

编写程序,输入一个包含若干整数的列表,输出其中的最大值,以及所有最大值的下标组成的列表。
例如,输入[1,2,3,1,2,3,3],输出3和[2, 5, 6]。
要求使用列表推导式。

data = eval(input())
max_num = max(data)
print(max_num, [idx for idx in range(len(data)) if data[idx]==max_num])

3.5 生成随机序列与计数

编写程序,首先生成包含1000个随机数字字符的字符串,然后统计每个数字的出现次数。

from random import choices
import string
s = ''.join(choices(string.digits, k=1000))
print(s)
cnt = {}
for x in s:
    cnt[x] = cnt.get(x, 0) + 1

print(cnt)

3.6 字符串去重(保持顺序)

编写程序,输入一个字符串,输出其中唯一字符组成的新字符串,要求新字符串中的
字符顺序与其在原字符串中的相对顺序一样。
例如,输入'1122a3344',输出'12a34'。

s = input()
ss = list(set(s))
ss.sort(key=s.index)
print(''.join(ss))

3.7 集合运算

编写程序,输入两个集合A和B,输出它们的并集、交集、对称差集以及差集A-B和B-A。
要求使用集合运算符。

A = set(eval(input()))
B = set(eval(input()))

print(A | B)
print(A & B)
print(A ^ B)
print(A - B)
print(B - A)

3.8 空格去重

编写程序,输入一个字符串,删除其中的重复空格,也就是如果有连续的多个空格的话就只保留一个,然后输出处理后的字符串。

s = input()
print(''.join([s[idx] for idx in range(len(s)) if idx==0 or s[idx]!=' ' or s[idx-1]!=' ']))

3.9 元音字母大写

编写程序,输入一个字符串,把其中的元音字母i、o、a、e和u替换成对应的大写字母,然后输出新字符串。

vowel = ('a', 'e', 'i', 'o', 'u')

s = input()
print(''.join(list(map(
    (lambda x: x.upper() if x in vowel else x),
    s
))))

3.10 检查列表是否存在相同整数

编写程序,测试列表中的若干整数之间是否有重复。

data = eval(input())
print("没有重复") if len(data) == len(list(set(data))) else print("存在重复")

4.7 递归实现数位求和

使用递归法计算自然数各位数字之和。

def sum_by_digit(num):
    return num%10 + sum_by_digit(num//10) if num > 10 else num

test_data = (1234, 6789, 6379)

for test in test_data:
    print(f"{test} --> {sum_by_digit(test)}")

4.8 猜数游戏

通过参数可以指定一个整数范围和猜测的最大次数,系统在指定范围内随机产生一个整数,然后让用户猜测该数的值,系统根据玩家的猜测进行提示(例如,猜大了,猜小了,猜对了),玩家则可以根据系统的提示对下一次的猜测进行适当调整,直到猜对或次数用完。文章来源地址https://www.toymoban.com/news/detail-711779.html

from random import choice

config = {
    'max_num': 1000,
    'min_num': 0,
    'max_guess_times': 20
}

answer = choice(range(config['min_num'], config['max_num']+1))

guess_times = 0
while guess_times < config['max_guess_times']:

    print(f"猜数游戏,请输入一个数字,\n范围是[{config['min_num']}, {config['max_num']}]: ") \
        if guess_times == 0 else print("再猜一次: ")
    guess = int(input())
    guess_times += 1
    if guess == answer:
        print("猜对了!")
        break
    elif guess > answer:
        print("猜大了")
    else:
        print("猜小了")

if guess_times >= config['max_guess_times']:
    print("--- 机会用完了 ---")

到了这里,关于python基础操作练习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基础练习题--第三章 控制结构

    目录 1025:【例3.1】购买笔记本 1026:【例3.2】判断奇偶 1027:【例3.3】区间测速 1028:【例3.4】飞船速度 1029:练3.1最大优惠价 1030:练3.2判断闰年 1031:练3.3最适宜运动心率2 1032:【例3.5】计程票 1033:【例3.6】BMI健康信息 1034:练3.4  区间测速2 1035:练3.5  购买笔记本2 【题

    2024年02月07日
    浏览(44)
  • 爆肝更新 Python 100道基础入门练习题(附答案)

    前言 大家早好、午好、晚好吖 ❤ ~ 更多精彩内容、资源皆可点击文章下方名片获取此处跳转 实例001:数字组合 题目: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析: 遍历全部可能,把有重复的剃掉。 实例002:“个税计算”

    2024年02月07日
    浏览(34)
  • 操作系统第四章练习题

    第三部分 填空题 将作业地址空间中的逻辑地址转换为主存中的物理地址的过程称为(      )。地址变换   分区分配中的存储保护通常采用(      )方法。界限寄存器和存储保护键 把(      )地址转换为(      )地址的工作称为地址映射。逻辑、物理 重定位的

    2024年02月11日
    浏览(25)
  • 操作系统第二章练习题

    第三部分 选择题 1、在进程管理中,当(     )时,进程从阻塞状态变为就绪状态。   C  A.进程被进程调度程序选中              B.等待某一事件 C.等待的事件发生                       D.时间片用完 2、分配到必要的资源并获得处理机时的进程状态是(

    2024年02月07日
    浏览(38)
  • 记录-js基础练习题

    隔行换色(%): 简易计算器: 双色球随机数生成: 目标:生成一组(7个) 1-33之间的随机不重复的整数(1.生成一个1-33之间的整数。 2.生成7个–循环长度不固定用while循环。 3.要求不重复,补零操作) 鼠标滑过div显示隐藏: 条件判断if: 点击按钮,如果div显示,那么隐藏它

    2023年04月17日
    浏览(27)
  • Redis,MongoDB基本操作练习题

    语法不会可以在官网上查询MongoDB教程 String类型基本操作: List类型基本操作: hash类型基本操作: 创建一个数据库 名字grade: 创建class集合: 集合中插入若干数据: 查看班级所有人信息: 查看班级中年龄为8岁的学生信息: 查看年龄大于10岁的学生信息: 查看年龄在 4—8岁

    2024年02月16日
    浏览(32)
  • HarmonyOS云开发基础认证练习题

    HarmonyOS应用开发者基础认证练习题 HarmonyOS应用开发者高级认证练习题 HarmonyOS云开发基础认证练习题 刚看到前几天有位朋友评论问有没有HarmonyOS云开发基础认证的题,粗略看了看感觉还行,老规矩1h2min速通。不过关于云开发华子只开放了基础认证,后续如果华子开放了高级和

    2024年02月09日
    浏览(38)
  • MySQL索引和视图基础练习题

    学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名Cno为主键 学生选课表:SC (Sno, Cno, Score) 学号,课程号,成绩Sno,Cno为主键 1.用SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女

    2024年01月17日
    浏览(28)
  • C#基础练习题,编程题汇总

    编程实现在一行内输入若干个整数(不超过30个),输出最大的一个整数。 样例如下: 输入(在一行内输入,空格分隔): 5 6 78 -89 0 23 100 4 6 输出: 100 C#具体设计: 1.先让用户输入一些整数, 2.再装其读入到字符串用, 3.用空格符来分割字符成,存成字符数组 4.用foreach语句

    2023年04月16日
    浏览(47)
  • HarmonyOS云开发基础认证---练习题二

    【判断题】 2/2 Serverless是云计算下一代的默认计算范式。 正确(True) 【判断题】 2/2 接入认证服务后,用户每次收到验证码短信都需要开发者买单。 错误(False) 【判断题】 2/2 认证服务手机号码登录需要填写国家码。 正确(True) 【判断题】 2/2 在Cloud Function中,监听事件源上的指

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包