使用python解决一下内容 1、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 3、输入某年某月某日,判断这一天是这一年的第几天? 4、用*号输出字母C的图案。 5、打印出所有“水仙花数”,而“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 6、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
时间: 2023-06-04 08:08:35 浏览: 155
1、题目中给出了1、2、3、4四个数字,所以可组成的三位数个数为4x3x2=24个。所有组合如下:123、124、132、134、142、143、213、214、231、234、241、243、312、314、321、324、341、342、412、413、421、423、431、432.
2、递归函数代码如下:
```
def print_reverse(string):
if len(string) == 1: # 当字符串长度为1时直接打印
print(string)
else:
print_reverse(string[1:]) # 递归调用,先打印除第一个字符以外的部分
print(string[0]) # 再打印第一个字符
```
3、代码如下:
```
def leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): # 判断是否是闰年
return 29
else:
return 28
def get_day(year, month, day):
days = 0
month_days = [31, leap_year(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 记录每个月的天数
for i in range(1, month):
days += month_days[i-1]
days += day # 将当月的天数加上
return days
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
print("%d年%d月%d日是%d年的第%d天" % (year, month, day, year, get_day(year, month, day)))
```
4、代码如下:
```
print(" *****")
print("** ")
print("** ")
print("** ")
print(" *****")
```
5、代码如下:
```
for i in range(100, 1000):
a = i // 100 # 求百位数
b = (i // 10) % 10 # 求十位数
c = i % 10 # 求个位数
if i == a**3 + b**3 + c**3:
print(i)
```
6、代码如下:
```
str = input("请输入一行字符:")
letter_num = 0 # 记录字母数量
space_num = 0 # 记录空格数量
digit_num = 0 # 记录数字数量
other_num = 0 # 记录其他字符数量
for s in str:
if s.isalpha():
letter_num += 1
elif s.isspace():
space_num += 1
elif s.isdigit():
digit_num += 1
else:
other_num += 1
print("字母数量为:%d 个" % letter_num)
print("空格数量为:%d 个" % space_num)
print("数字数量为:%d 个" % digit_num)
print("其他字符数量为:%d 个" % other_num)
```
阅读全文