github上python100题链接
1、编写一个程序,找出所有可以被 7 整除但不是 5 倍数的数字,在 2000 到 3200 之间(都包括在内)。获得的数字应以逗号分隔的顺序打印在一行上。
2、编写一个可以计算给定数字的阶乘的程序。结果应该以逗号分隔的顺序打印在一行上。
输入:8
输出:40320
3、使用给定的整数 n,编写程序以生成包含 (i, i x i) 的字典,该字典是 1 和 n 之间的整数(包括两者)。 然后程序应该打印字典。
输入:
8
输出:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}
4、编写一个程序,从控制台接受一系列逗号分隔的数字,并生成一个列表和一个包含每个数字的元组。假设向程序提供以下输入:
输入:
34,67,55,33,12,98
输出:
[‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’]
(‘34’、‘67’、‘55’、‘33’、‘12’、‘98’)
5、定义一个至少有两个方法的类:
getString:从控制台输入中获取字符串
printString:以大写形式打印字符串。
还请包括简单的测试功能来测试类方法。
6、编写一个程序,根据给定的公式计算并打印该值:Q = [(2 * C * D)/H] 的平方根,以下是 C 和 H 的固定值:C 是 50。H 是 30。D 是变量,其值应该以逗号分隔的序列输入到您的程序中。
输入:
100,150,180
输出:
18,22,24
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]]
8、编写一个程序,接受逗号分隔的单词序列作为输入,并在按字母顺序排序后以逗号分隔的序列打印单词。
输入:
without,hello,bag,world
输出:
bag,hello,without,world
9、编写一个程序,接受行序列作为输入,并在将句子中的所有字符大写后打印行。
输入:
Hello world
Practice makes perfect
输出:
HELLO WORLD
PRACTICE MAKES PERFECT
10、编写一个程序,接受一系列以空格分隔的单词作为输入,并在删除所有重复单词并按字母数字排序后打印单词。
输入:
hello world and practice makes perfect and hello world again
输出:
again and hello makes perfect practice world
1、编写一个程序,找出所有可以被 7 整除但不是 5 倍数的数字,在 2000 到 3200 之间(都包括在内)。获得的数字应以逗号分隔的顺序打印在一行上。
for i in range(2000,3000):
if i%7 == 0 and i%5 != 0:
print(i, end=",")
print("\b")
# \b退格消除最后一个逗号
2、编写一个可以计算给定数字的阶乘的程序。结果应该以逗号分隔的顺序打印在一行上。
输入:8
输出:40320
# 递归
def fact(n):
if n == 0:
return 1
else:
return n*fact(n-1)
n = int(input("Please input an numbers:"))
print(fact(n))
# 非递归
n = int(input("Please input an numbers:"))
result = 1
for i in range(1,n+1):
result = result * i
print(result)
3、使用给定的整数 n,编写程序以生成包含 (i, i x i) 的字典,该字典是 1 和 n 之间的整数(包括两者)。 然后程序应该打印字典。
输入:
8
输出:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}
n = int(input("Please input an numbers:"))
result = {}
for i in range(1,n+1):
result[i] = i * i
print(result)
4、编写一个程序,从控制台接受一系列逗号分隔的数字,并生成一个列表和一个包含每个数字的元组。假设向程序提供以下输入:
输入:
34,67,55,33,12,98
输出:
[‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’]
(‘34’、‘67’、‘55’、‘33’、‘12’、‘98’)
data = input()
list_data = data.split(",")
print(list_data)
print(tuple(list_data))
5、定义一个至少有两个方法的类:
getString:从控制台输入中获取字符串
printString:以大写形式打印字符串。
还请包括简单的测试功能来测试类方法。
class myString:
def getString(self):
self.s = input()
def printString(self):
print(self.s.upper())
test1 = myString()
test1.getString()
test1.printString()
6、编写一个程序,根据给定的公式计算并打印该值:Q = [(2 * C * D)/H] 的平方根,以下是 C 和 H 的固定值:C 是 50。H 是 30。D 是变量,其值应该以逗号分隔的序列输入到您的程序中。
输入:
100,150,180
输出:
18,22,24
import math
D = input()
C, H = 50, 30
D = D.split(",")
for i in D:
print(round(math.sqrt(2*C*float(i)/H)), end=",")
print("\b")
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]]
X,Y = map(int,input().split(','))
arrary = []
for i in range(X):
temp = []
for j in range(Y):
temp.append(i*j)
arrary.append(temp)
print(arrary)
8、编写一个程序,接受逗号分隔的单词序列作为输入,并在按字母顺序排序后以逗号分隔的序列打印单词。
输入:
without,hello,bag,world
输出:
bag,hello,without,world
s = input().split(",")
new_s = sorted(s)
print(",".join(new_s))
9、编写一个程序,接受行序列作为输入,并在将句子中的所有字符大写后打印行。
输入:
Hello world
Practice makes perfect
输出:
HELLO WORLD
PRACTICE MAKES PERFECT
lst = []
while True:
x = input()
if len(x)==0:
break
lst.append(x.upper())
for line in lst:
print(line)
10、编写一个程序,接受一系列以空格分隔的单词作为输入,并在删除所有重复单词并按字母数字排序后打印单词。
输入:
hello world and practice makes perfect and hello world again
输出:
again and hello makes perfect practice world
s = set(input().split())
lst = list(s)
lst.sort()
print(" ".join(lst))