第二章
1.输入直角三角形的两个直角边的长度a,b.求斜边c的长度.
import math
a = input("输入直角三角形的直角边1\n");
b = input("输入直角三角形的直角边2\n");
a = int(a);
b = int(b);
print("斜边c的长度:",int(math.sqrt((a*a)+(b*b))));
# 两边转换成了整数类型,输入小数或者负数会报错
2.编写一个程序,用于实现两个数的交换.
a = input("输入a\n");
b = input("输入b\n");
def exchange(a,b):
c = a;
a = b;
b = c;
print(a,b);
exchange(a,b);
# 实际上转换的是输入的两个字符串,没有转换成数,也没有限制成输入数
第三章
1.编写一个程序,使用for循环输出 0~10之间的整数.
for i in range(0,10):
print(i);
2.编写一个程序,判断用户输入的数是正数还是负数.
a = input("输入一个数")
if (int(a) < 0):
print("输入的数是一个负数");
else:
print("输入的数是一个正数");
# 只能判断整数
3.编写一个程序,输出九九乘法表.
i = 1;
while i < 10:
j = 1;
while j <= i:
print("%d * %d = %-2d"%(i,j,i*j),end = ' ');
j = j + 1;
print("\n");
i = i + 1;
# %-2d 是该位置默认占两个位置,靠左对齐;可以直接使用%d
第四章
1.接收输入的一行字符,统计出字符串中包含数字的个数.
str_line = input("输入字符串:\n")
i = 0
sum = 0
while i < 10:
s = str_line.count(str(i));
i = i + 1;
sum = s + sum;
print(sum);
# 难点count(sub),参数必须是字符串,i是整数类型需要转换成字符串作为参数使用
# 统计的是数字出现的次数,如11会识别成两个数字1,当统计十位数以上的数字时,此方法不完善
2.请输入星期几的第一个字母,用来判断是星期几,如果第一个字母一样,则继续判断第2个字母,以此类推.
week_date = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
s = input("输入第一个字母:\n");
week = [];
for i in range(len(week_date)):
if (week_date[i][0] == s.upper()):
week.append(week_date[i])
if (len(week) == 1):
print(week[0])
if (len(week) == 0):
print("输入格式不正确")
if (len(week) > 1):
s1 = input("输入第二个字母:\n")
for j in range(len(week)):
if(week[j][1] == s1.lower()):
print(week[j]);
# else:
# print("输入格式不正确")
#思路是:先比对第一个输入的字母和每个星期的头字母,相同的加入一个数组里,当数组大于1的时候,继续比对第二个字母
#最后注释掉的逻辑有问题.如果首字母相同的单词有两个,会执行两次循环,错误的一次会输出输入不正确,如需避免,重复循环1的类型.
#次题目可以继续优化,思路是循环每一次的输入内容,按照顺序对比每个字母,此解答思路只考虑了两次就可以匹配到正确的单词,没有加入循环.
3.编写一个程序,计算字符串中出现的次数
str = "dfsahfjkdsahgoasjflmhgjoidsjkhjpsadfigujmsaoifuhdsjaghlafhjdsai "
print(str.count("dsa"));
第五章
1.编写一个函数,用于判断用户输入的字符串是否由小写字母和数字构成
import string
arr = list(input("输入字符串:\n"));
for i in arr:
num = i.isdigit();
little_str = i.islower();
if(little_str or num):
continue
else:
print(i+"不属于小写字母和数字");
2.请根据下述需求,编写一个程序.
用户输入一个字符串,将下标为偶数的字符提出来合并成一个新的字符串A,再将下标为奇数的字符提出来合并成一个新的字符串B,再将字符串A和B连接起来输出
s2 = list(input("输入字符串:\n"));
sA = [];
sB = [];
for i in range(len(s2)):
if i == 0:
sA.append(s2[i]);
elif i%2 == 1:
sB.append(s2[i]);
elif i%2 == 0:
sA.append(s2[i]);
print("".join(sA));
print("".join(sB));
print("".join(sA+sB));
3.请编写一个程序,用于统计字符串中每个字母的出现次数(字母忽略大小写),统计出的结果,请按照[‘a’:3,‘b’:2]的格式输出
import string
s3 = input("输入字母组成的字符串:");
s3.lower();
s4 = {};
for i in string.ascii_lowercase: #将输入的字符串全转换成小写.并且查找数量加入字典
s4[i] = s3.count(i);
for j in list(s4.keys()): #将字典中值为0的删除,当在遍历字典时,不能修改大小,将循环范围内的字典转换后既可修改
if s4[j] == 0:
del s4[j]
print(s4);
4.请根据下列需求,编写一个程序.
用户输入一个字符串,请将字符串中的所有字母全部向后移动一位,最后一个字母放到字符串的开头,最后将新的字符串输出.
更多推荐
Python快速编程入门课后编程题
发布评论