首页 > 编程语言 >python基础操作练习题

python基础操作练习题

时间:2023-10-04 13:12:00浏览次数:46  
标签:练习题 输出 编写程序 python 列表 操作 print input 输入

使用版本: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 猜数游戏

通过参数可以指定一个整数范围和猜测的最大次数,系统在指定范围内随机产生一个整数,然后让用户猜测该数的值,系统根据玩家的猜测进行提示(例如,猜大了,猜小了,猜对了),玩家则可以根据系统的提示对下一次的猜测进行适当调整,直到猜对或次数用完。

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,列表,操作,print,input,输入
From: https://www.cnblogs.com/feixianxing/p/python-basis.html

相关文章

  • 编程新手?跟着这个教程,用Python画出小猪佩奇
    小猪佩奇是许多小朋友们的心头好,它的形象可爱、颜色鲜艳。你知道吗,只需要Python中的一个简单模块,我们就可以自己绘制出这个可爱的形象!本文将教你如何使用Python的turtle模块,一步步画出小猪佩奇。1.准备工作:了解turtle模块Python的turtle模块是一个非常有趣的模块,它提供了基础......
  • Python开发入门
    Lifeisshort,usePython. Life’spathetic,let’spythonic. 一、Python简介1.1Python语言起源Python的创始人是吉多·范罗苏姆(GuidovanRossum),1989年的圣诞节,吉多为了打发时间,决定开发一个新型的基于互联网社区的脚本解释程序,就这样Python就在键盘的敲击声中诞生了,Pyth......
  • C++ thread 互斥操作
    ThreadMutexstd::mutex是C++11最基本的互斥量,该类的实例化对象提供了资源独占所有权的特性,用于保护共享数据免受多个线程同时访问的同步原语。Mutex用法头文件#include<mutex>类型std::mutex最基础的Mutex类std::recursive_mutex递归的Mutex类std......
  • 05-独立按键的基本操作与扩展应用
    05-独立按键的基本操作与扩展应用在写代码前需做如下,否则独立按键无响应:由电路图可知:独立按键默认为高电平,当按键按下时为低电平即S7(P30)、S6(P31)、S5(P32)、S4(P33)当按下按键时,P3口对应低电平,松开后对应高电平,判断是否一直按下此时需要使用while(1)死循环,由于是按下点......
  • python 中 re模块
     正则表达式其本身就是一种小型的,高度专业化的编程语言。在Python中,它被内嵌在了re模块里面,正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 001、re.searcha、>>>re.search('www','www.runoob.com')##返回了匹配的范围和匹配的字......
  • Python开发入门
    Lifeisshort,usePython. Life’spathetic,let’spythonic. 一、Python简介1.1Python语言起源Python的创始人是吉多·范罗苏姆(GuidovanRossum),1989年的圣诞节,吉多为了打发时间,决定开发一个新型的基于互联网社区的脚本解释程序,就这样Python就在键盘的敲击声中诞......
  • Java JDBC连接数据库的CURD操作(JDK1.8 + MySQL8.0.33 + mysql-connector-java-8.0.27-
    JDBC概述JDBC(JavaDatabaseConnectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。JDBC为访问不同的数据库提供了一......
  • python学习(自用)
    以下仅介绍与C语言习惯相背的内容:运算符/和//:在python中,直接用两个int类型去做/,会得到一个double类型。如果想做类似于C语言中的除(即结果依然是int,且无法整除时向下取整),需要用//。**:此符号意为指数,a**b得到的是a的b次方。字符串定义字符串时可以用单引号包裹也可以用双引......
  • Python入门系列7-函数进阶
    一、函数参数和返回值的作用函数根据有没有参数以及有没有返回值,可以相互组合一共有4种组合方式:1.无参数,无返回值2.无参数,有返回值3.有参数,无返回值4.有参数,有返回值如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部,如果希望一个函数执行完成后,向外界汇报执行......
  • Python中的四种推导式
    推导式列表推导式这是一种最常见的推导式,相比有不少人都用过,至少也见过,减少了了编写Python代码的代码长度语法结构是这样的[out_exp_resforout_expininput_list][out_exp_resforout_expininput_listifcondition]给出一个实例就是x=[x*2forxin[1,2,3]]......