IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python? 重解零基础100题(1) -> 正文阅读

[Python知识库]Python? 重解零基础100题(1)

第1题

难度:1级

问题:编写一个程序,找到2000年至3200年(包括在内)中所有可被7整除但不能被5整除的所有数字,得到的数字按逗号分隔,打印在一行上。

提示:考虑使用range(begin, end)方法

l=[]
for?i?in?range(2000,?3201):
????if?(i%7?==?0)?and?(i%5?!=?0):
????????l.append(str(i))
print?(','.join(l))

我的答案:

>>> [i for i in range(2000,3201) if not i%7 and i%5]
[2002, 2009, 2016, 2023, 2037, 2044, 2051, 2058, 2072, 2079, 2086, 2093, 2107,
 2114, 2121, 2128, 2142, 2149, 2156, 2163, 2177, 2184, 2191, 2198, 2212, 2219,
 2226, 2233, 2247, 2254, 2261, 2268, 2282, 2289, 2296, 2303, 2317, 2324, 2331,
 2338, 2352, 2359, 2366, 2373, 2387, 2394, 2401, 2408, 2422, 2429, 2436, 2443,
 2457, 2464, 2471, 2478, 2492, 2499, 2506, 2513, 2527, 2534, 2541, 2548, 2562,
 2569, 2576, 2583, 2597, 2604, 2611, 2618, 2632, 2639, 2646, 2653, 2667, 2674,
 2681, 2688, 2702, 2709, 2716, 2723, 2737, 2744, 2751, 2758, 2772, 2779, 2786,
 2793, 2807, 2814, 2821, 2828, 2842, 2849, 2856, 2863, 2877, 2884, 2891, 2898,
 2912, 2919, 2926, 2933, 2947, 2954, 2961, 2968, 2982, 2989, 2996, 3003, 3017,
 3024, 3031, 3038, 3052, 3059, 3066, 3073, 3087, 3094, 3101, 3108, 3122, 3129,
 3136, 3143, 3157, 3164, 3171, 3178, 3192, 3199]
>>> 

第2题

难度:1级

问题:编写一个可以计算给定数阶乘的程序,结果以逗号分隔,打印在一行上;假设向程序输入8,则输出40320;

提示:在为问题提供输入数据的情况下,假设它是控制台输入。

我的答案:?

print('请输入一个数字:')
n=int(input())
d={0:1}
for i in range(1,n+1):
    d[i]=d[i-1]*i

print(n,d[n],sep=',')

第3题

难度:1级

问题:使用给定的整数n,编写程序生成一个包含(i, i×i)的字典,该字典包含从1到n之间的整数(两者都包含),然后打印字典。

假设向程序提供以下输入:8

则输出为:{1:1,2:4,3:9,4:16,5:25,6:36,,7:49,8:64}

提示:在为问题提供输入数据的情况下,应该假设它是控制台输入。考虑使用dict类型()

print('请输入一个数字:')
n=int(input())
d=dict()
for?i?in?range(1,n+1):
????d[i]=i*i
print(d)

我的答案:

>>> n = 8  # input() 输入 8
>>> {i:i**2 for i in range(1,n+1)}
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}
>>> 

第4题

难度:1级

问题:编写一个程序,该程序接收控制台以逗号分隔的数字序列,并生成包含每个数字的列表和元组;

假设,向程序提供以下输入:34岁,67年,55岁,33岁,12日,98年;

则输出为:['34', '67', '55', '33', '12', '98'] ('34', '67', '55', '33', '12', '98')

提示:在为问题提供输入数据的情况下,应该假设它是控制台输入,同时方法可以将列表转换为元组;

import?re
print('请输入一组数字:')
values=input()
l=values.split(",")
k=re.findall(r'[0-9]+',values)
t=tuple(k)
print?(k)
print?(t)

第5题

难度:1级

问题:定义一个至少有两个方法的类: 一、getString:从控制台输入获取字符串;二、printString:打印大写母的字符串,并写出简单的测试函数来测试类方法。

提示:使用init方法构造一些参数

class?InputOutString(object):
????def?__init__(self):
????????self.s?=?""
????def?getString(self):
????????print('请输入字符串:')
????????self.s?=?input()
????def?printString(self):
????????print?(self.s.upper())
strObj?=?InputOutString()
strObj.getString()
strObj.printString()

第6题

难度:2级

问题:编写一个程序,根据给定的公式计算并打印值:Q=\sqrt{[(2*C*D)/H]}。其中,假设C=50。H=30。D是一个变量,它的值应该以逗号分隔的序列输入到程序中。

例:程序的输入序列为(以逗号分隔):100,150,180;则程序输出为:18,22,24;

提示:如果输出是小数,则应四舍五入到其最近的值(例输出是26.0,则应打印为26)。

import?math
c=50
h=30
value?=?[]
print('请输入一组数字:')
items=[x?for?x?in?input().split(',')]
for?d?in?items:
????value.append(str(int(round(math.sqrt(2*c*float(d)/h)))))
print?(','.join(value))

第7题

难度:2级

问题:编写一个程序,X,Y作为输入,生成一个二维数组,数组的第i行和第j列的元素值应该是i×j。

注意:i= 0,1 . .,X - 1; j = 0, 1, Y-1。

假设,程序输入3, 5;则程序输出为:[[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8]];

提示:如果要为问题提供输入数据,应该假设它是一个控制台输入,以逗号分隔。

print('请输入两个数字:')
input_str?=?input()
dimensions=[int(x)?for?x?in?input_str.split(',')]
rowNum=dimensions[0]
colNum=dimensions[1]
multilist?=?[[0?for?col?in?range(colNum)]?for?row?in?range(rowNum)]
for?row?in?range(rowNum):
????for?col?in?range(colNum):
????????multilist[row][col]=?row*col
print?(multilist)

第8题

难度:2级

问题:编写一个程序,以逗号分隔的单词序列作为输入,按照字母顺序对每个单词进行排序,并通过逗号分隔的序列来打印单词。

假设向程序输入:without,hello,bag,world;

则输出为:bag,hello,without,world;

提示:在为问题提供输入数据的情况下,应该假设它是控制台输入。

items=[x?for?x?in?input().split(',')]
items.sort()
print?(','.join(items))

第9题

难度:2级

问题编写一个程序,接收一行序列作为输入,并在将句子中的所有字符大写后打印行。

假设向程序依次输入:Hello world;Practice makes perfect;

则输出为:HELLO WORLD;PRACTICE MAKES PERFECT;

提示:在为问题提供输入数据的情况下,应该假设它是控制台输入。

lines?=?[]
while?True:
????s?=?input()
????if?s:
????????lines.append(s.upper())
????else:
????????break;
for?sentence?in?lines:
????print(sentence)

第10题

难度:2级

问题:编写一个程序,以一系列空格分隔的单词作为输入,并在删除所有重复的单词后,按字母顺序排序后打印这些单词。

假设向程序输入:hello world and practice makes perfect and hello world again

则输出为:again and hello makes perfect practice world

提示:我们使用set容器自动删除重复的数据,然后使用sort()对数据进行排序。

print('请输入一组字符串:')
s?=?input()
words?=?[word?for?word?in?s.split("?")]
print?("?".join(sorted(list(set(words)))))
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:14:17  更:2021-07-16 11:14:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 10:12:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码