1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80,挑40个数出来,并且没有规律
时间: 2023-05-29 18:04:48 浏览: 3370
7, 11, 18, 22, 28, 31, 35, 37, 42, 47, 50, 52, 54, 57, 61, 63, 68, 71, 74, 77, 3, 14, 20, 24, 39, 43, 45, 49, 55, 59, 62, 66, 69, 72, 75, 78, 80, 2, 9, 19, 25, 30.
相关问题
函数名称:calendar 两个参数:year及month 返回多行字符串示例: 注意行号不属于字符串的内容。 2022 年 10 月 一 二 三 四 五 六 日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
好的,以下是根据年份和月份生成日历的 PHP 函数 `calendar` 的代码:
```php
function calendar(int $year, int $month): string {
$monthName = date("F", mktime(0, 0, 0, $month, 1, $year)); // 获取月份的英文名
$daysInMonth = date("t", mktime(0, 0, 0, $month, 1, $year)); // 获取月份的天数
$firstDayOfMonth = date("N", mktime(0, 0, 0, $month, 1, $year)); // 获取月份第一天是星期几
$calendar = "$year 年 $monthName\n一 二 三 四 五 六 日\n"; // 初始化日历字符串
$dayOfMonth = 1; // 从第一天开始
for ($i = 1; $i <= 6; $i++) { // 最多需要 6 行
for ($j = 1; $j <= 7; $j++) { // 每行 7 天
if ($i == 1 && $j < $firstDayOfMonth) {
// 如果是第一行且当前日期还没到第一个星期一,填充空格
$calendar .= " ";
} else {
// 否则填充日期
$calendar .= str_pad($dayOfMonth, 2, " ", STR_PAD_LEFT) . " ";
$dayOfMonth++;
if ($dayOfMonth > $daysInMonth) {
// 如果日期已经超过了当月天数,结束循环
break 2;
}
}
}
// 每填充完一行,换行
$calendar .= "\n";
}
return $calendar; // 返回日历字符串
}
```
在这个函数中,我们使用了 PHP 内置函数 `date()` 和 `mktime()` 来获取月份的英文名、天数和第一天是星期几。然后,我们使用一个双重循环来填充日历字符串。外层循环控制行数,内层循环控制每行的日期。如果当前日期还没到第一个星期一,我们填充空格,否则填充日期。如果日期已经超过了当月天数,我们结束循环。
最后,我们将日历字符串作为函数的返回值。
你可以这样调用函数来生成日历:
```php
echo calendar(year: 2022, month: 10);
```
这里我们使用了 PHP 8 中引入的命名参数语法,将参数名与参数值一一对应地传递给函数。函数将生成一个日历字符串并返回,我们使用 `echo` 将其输出到屏幕上。
编写程序显示单月的日历。用户指定这个月的天数和该月起始日是星期几: 31 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 输入 1、输入这个月的天数。 2、输入该月起始日是星期几(1=Sun,7=Stat)。 输出 输出单月的日历,日与日之间间隔一个空格,上下行日期右对齐。
以下是Python的代码实现:
```python
# 获取用户输入
days = int(input("请输入这个月的天数:"))
start_day = int(input("请输入该月起始日是星期几(1=Sun,7=Sat):"))
# 打印日历头部
print(" 日 一 二 三 四 五 六")
# 打印空格以对齐第一天的位置
for i in range(1, start_day):
print(" ", end="")
# 打印日期
for day in range(1, days+1):
# 格式化输出日期,右对齐
print("{:>3}".format(day), end="")
# 如果是周六,换行
if (day + start_day - 1) % 7 == 0:
print()
else:
# 在日期之间添加空格
print(" ", end="")
```
运行程序后,用户需要输入这个月的天数和该月起始日是星期几。程序将会输出该月的日历。例如,输入31和3,输出如下:
```
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
```