1. 编写⼀个程序,根据给定的公式进⾏计算并输出值:Q = [(2 * C * D)/ H]的平⽅根。C和H的常量:C为50,H为30。D为变量,其值应以逗号分隔,按顺序输⼊到程序中。
例:假定以逗号(英⽂逗号)分隔的输⼊序列已赋予程序:
100,150,180
则程序应输出:
18,22,24
代码示例:
# 定义常量
C = 50;
H = 30;
# 输出数组对应对个输入
value = []
inputs = "100, 150, 180"
# 可以使用input函数接受输入
# items = [x for x in input().split(',')]
# 直接使用inputs模拟
items = [x for x in inputs.split(',')]
for d in items:
value.append(str(math.sqrt(2*C*float(d)/H)))
else:
print(','.join (value))
讲解:
常量名为大写,需要注意的是列表项使用
join
拼接时,数字必须转换成字符串类型
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]] ,即3行5列数
代码示例:
input_str = input()
dimensions = [int(x) for x in input_str.split(',')]
rowNum = dimensions[0]
colNum = dimensions[1]
multilist = []
for row in range(rowNum):
multilist[row]= []
for col in range(colNum):
multilist[row].append(row*col)
else:
print(multilist)
讲解:
Python中列表是不能通过不存在的下标直接赋值的,比如:
lists=[], lists[1] = 1
就会报错,通过append
向列表添加数据
3. 编写⼀个程序,该程序接受以逗号分隔的单词作为输⼊,并在按字⺟顺序排序后,将这些单词以逗号分隔的形式输出。
假设在程序中输⼊以下单词:
without,hello,bag,world
则程序应输出:
bag,hello,without,world
代码示例:
items = [x for x in input().split(',')]
items.sort()
print(','.join(items))
讲解:
字符串排序默认以字符串字符顺序的ascii码值进行排序,
sort
方法还可以传入key
选择某一个位置字符排序, 比如:lists.sort(key=lambda x:x[2])
,reverse
排序方式
4. 编写⼀个程序,接受用户输⼊,用户按下无输入回车键终止,将用户所有的输⼊的改为⼤写后输出。
假设在程序中输⼊以下:
Hello world
Practice makes perfect
则程序应输出:
HELLO WORLD
PRACTICE MAKES PERFECT
代码示例:
lines = []
while True:
s = input()
if s:
lines.append(s.uppper())
else:
break;
for sentence in lines:
print(sentence)
讲解:
字符串大小写转换方法:
upper()
,lower()
,title()
5. 编写⼀个程序,该程序接受⼀系列以空⽩格分隔的单词作为输⼊,并在删除所有重复单词且按照字⺟顺序排序后,输出这些单词。
假设在程序中输⼊以下:
hello world and practice makes perfect and hello world again
则程序应输出:
again and hello makes perfect practice world
代码示例:
s = input()
words = [word for word in s.split(" ")]
print("".join (sorted(list(set(words))))
讲解:
通常都可以借助集合来进行去重处理,比如爬虫中,防止重复爬取网址,就可以通过集合来收集待爬取的网址
6. 编写⼀个程序,该程序接受以逗号分隔的4位⼆进制数字序列作为输⼊,并检查这些数字是否能被5整除。将能被5 整除的数字以逗号分隔顺序打印。
例:
0100,0011,1010,1001
则程序应输出:
1010
注意:假设数字是通过控制台输⼊的
代码示例:
value =[]
items = [x for x in input().split(',')]
for p in items:
int_p = int(p,2)
if not int_p % 5:
value.append(p)
print(value)
讲解:
int
函数可以将数字字符串转换为10进制整数,第二个参数是字符串数字的进制
7. 编写⼀个程序,使该程序接受⼀个句⼦,并计算该句中字⺟和数字的数量。
假设输⼊以下: hello world!123
则程序应输出:
LETTERS 10
DIGITS 3
代码示例:
inputs = input()
dicts = {"DIGITS":0, "LETTERS":0}
for word in inputs:
if word.isdigit():
d["DIGITS"] += 1
elif word isalpha():
d["LETTERS"]+=1
else:
pass
print("LETTERS", d["LETTERS"])
print("DIGITS", d["DIGITS"])
讲解:
掌握
str.isalnum
,str.isalpha
,str.isdigit
,str.isdecimal
的区别与用法
讨论区