1、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
# 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
var = 1
print('请输入成绩(0-100):')
while var:
grade = input()
if grade.isdigit() is True:
grade = int(grade)
if 0 <= grade <= 100:
break
else:
print('输入的成绩应该在0-100之间,请重新输入:')
continue
else:
print('输入的成绩非整数,请重新输入:')
if grade >= 90:
grade_level = 'A'
elif 60 <= grade < 90:
grade_level = 'B'
else:
grade_level = 'C'
print('成绩等级为:', grade_level)
运行结果:
2、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
# 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
print('请输入任意字符:')
str_input = str(input()).lower()
sum_letter = sum_number = sum_space = sum_char = 0
for i in str_input:
if 'a' <= i <= 'z':
sum_letter += 1
elif '0' <= i <= '9':
sum_number += 1
elif i == ' ':
sum_space += 1
else:
sum_char += 1
print('输入的字符串中{}个英文字符,{}个空格,{}个数字,{}个其他字符'.format(
sum_letter, sum_space, sum_number, sum_char))
运行结果:
3、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
# 一球从100米高度自由落下,每次落地后反跳回原高度的一半;
# 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
def calculate_rebound_and_return_rebound_and_total_distance(height, frequency):
total_distance = rebound_height = height
for i in range(1, frequency + 1):
rebound_height *= 0.5
total_distance += rebound_height * 2
total_distance -= rebound_height * 2
return total_distance, rebound_height
if __name__ == '__main__':
total, rebound = calculate_rebound_and_return_rebound_and_total_distance(100, 10)
print('第10次落地时经过的{}米,第10次反弹的高度{}米'.format(total, rebound))
运行结果:
4、两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
# 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。
# 已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,
# 请编程序找出三队赛手的名单。
team1_str = 'abc'
team2_lst = []
for i in ['x', 'y', 'z']:
for j in ['x', 'y', 'z']:
for k in ['x', 'y', 'z']:
if i != j and i != k and j != k:
team2_str = i+j+k
if team2_str[0] != 'x' and team2_str[2] != 'x' and team2_str[2] != 'z':
team2_lst .append(team2_str)
for i in range(len(team2_lst)):
for j in range(3):
print('{} vs {}'.format(team1_str[j], team2_lst[i][j]))
运行结果:
5、打印出如下图案(菱形):
line_lst = [1, 2, 3, 4, 3, 2, 1]
for i in line_lst:
print_character = '*'*(2*i-1)
print(str(print_character).rjust(3 + i))
运行结果: