#标识id 类型type 值:value直接输入
text="65465"
print(text)
print("标识id:",id(text))
print("类型type:",type(text))
print("value直接输入:",text)
#标识id 类型type 值:value直接输入
text="65465"
print(text)
print("标识id:",id(text))
print("类型type:",type(text))
print("value直接输入:",text)
#转行\n ----newline
print("hellow\nworld")
#退一个格\b --helloworld
print("hellow\bworld")
#忽略转移符号 (r"n\n")无效输出 n\n
print(r"你好!\n炫友")
#输出内容想包括转移符号则加一个\
print(r"这个是英文的双引号 \"")
#字符串
#数字直接写,字符串需要加""
print(520)
print("hellow! \n world")
#表达式5+2=7
print(5+2)
#写入数据文件
#打开文件 open("路径")
fp=open("./test.txt","a+")
print("123456",file=fp)
#关闭文件文件名.close()
fp.close()
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
//集合结构体
typedef struct {
int data[MAX_SIZE];
int size;
} Jihe;
//关系元组
typedef struct {
int x;
int y;
} Yuanzu;
// 定义关系结构体
typedef struct {
Yuanzu data[MAX_SIZE];
int size;
} Guanxi;
//集合初始化集合
void JHCSHJH(Jihe *s) {
s->size = 0;
}
//关系初始化
void GXCSH(Guanxi *r) {
r->size = 0;
}
//判断元素是否在集合中
int isinJihe(Jihe s, int x) {
for (int i = 0; i < s.size; i++) {
if (s.data[i] == x) {
return 1;
}
}
return 0;
}
// 添加一个元素到集合中
void addtoJihe(Jihe *s, int x) {
if (!isinJihe(*s, x)) {
s->data[s->size++] = x;
}
}
//查看元组是否在关系中
int isinyuanzu(Guanxi r, Yuanzu t) {
for (int i = 0; i < r.size; i++) {
if (r.data[i].x == t.x && r.data[i].y == t.y) {
return 1;
}
}
return 0;
}
// 添加一个元组到关系中
void addyuanzu(Guanxi *r, Yuanzu t) {
if (!isinyuanzu(*r, t)) {
r->data[r->size++] = t;
}
}
// 检测关系是否为自反关系
int zfgx(Guanxi r, Jihe s) {
for (int i = 0; i < s.size; i++) {
//{<a,a>..........}
Yuanzu t = {s.data[i], s.data[i]};
if (!isinyuanzu(r, t)) {
return 0;
}
}
return 1;
}
// 检测关系是否为对称关系
int dcgx(Guanxi r) {
for (int i = 0; i < r.size; i++) {
Yuanzu t = {r.data[i].y, r.data[i].x};
if (!isinyuanzu(r, t)) {
return 0;
}
}
return 1;
}
// 检测关系是否为反对称关系
int undcgx(Guanxi r) {
for (int i = 0; i < r.size; i++) {
if (r.data[i].x != r.data[i].y) {
Yuanzu t = {r.data[i].y, r.data[i].x};
if (isinyuanzu(r, t)) {
return 0;
}
}
}
return 1;
}
// 检测关系是否为传递关系
int cdgx(Guanxi r) {
for (int i = 0; i < r.size; i++) {
for (int j = 0; j < r.size; j++) {
if (r.data[i].y == r.data[j].x) {
Yuanzu t = {r.data[i].x, r.data[j].y};
if (!isinyuanzu(r, t)) {
return 0;
}
}
}
}
return 1;
}
int main() {
// 定义集合和关系
Jihe s;
Guanxi r;
// 初始化集合和关系
JHCSHJH(&s);
GXCSH(&r);
// 输入集合元素个数并添加到集合中
int n;
printf("请输入集合元素个数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int x;
printf("请输入第 %d 个元素:", i + 1);
scanf("%d", &x);
addtoJihe(&s, x);
}
// 输入关系元素个数并添加到关系中
printf("请输入关系元素个数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
Yuanzu t;
printf("请输入第 %d 个元组:", i + 1);
scanf("%d %d", &t.x, &t.y);
addyuanzu(&r, t);
}
// 检测关系性质并输出结果
if (zfgx(r, s)) {
printf("关系是自反的\n");
} else {
printf("不是自反关系\n");
}
if (dcgx(r)) {
printf("关系是对称的\n");
} else {
printf("不是对称关系\n");
}
if (undcgx(r)) {
printf("关系是反对称的\n");
} else {
printf("不是反对称关系\n");
}
if (cdgx(r)) {
printf("关系是传递的\n");
} else {
printf("不是传递关系\n");
}
return 0;
}
//-----------------检测关系的性质------------
//{a,b,c}
//自反{<a,a>...都存在}
//反自反{<a,a>...都不存在}
//既是对称也是反对此{<a,a>....}存在都相同
//对称{<a,b>,<a,b>}不需要全部存在,但存在元素必须对称
//反对称{<a,b>,}不需要全部存在,但是必须不对称
//既不也不{<a,b>,<b,a>,<a,c>}
//传递{<x,y>,<y,z>}-->x,z
///1 0 --> 0非
//蕴含
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int size;
} Jihe;
// 初始化集合
void initjihe(Jihe *s) {
s->size = 0;
}
int isinjihe(Jihe s, int x) {
for (int i = 0; i < s.size; i++) {
if (s.data[i] == x) {
return 1;
}
}
return 0;
}
void addtojihe(Jihe *s, int x) {
if (!isinjihe(*s, x)) {
s->data[s->size++] = x;
}
}
//删移动覆盖
void deletedata(Jihe *s, int x) {
for (int i = 0; i < s->size; i++) {
//0 1 2 3
//* * * *
if (s->data[i] == x) {
for (int j = i; j < s->size - 1; j++) {
s->data[j] = s->data[j + 1];
}
s->size--;
break;
}
}
}
//集合交集运算
Jihe Jiaojiys(Jihe s1, Jihe s2) {
//result 新集合
Jihe result;
initjihe(&result);
for (int i = 0; i < s1.size; i++) {
if (isinjihe(s2, s1.data[i])) {
addtojihe(&result, s1.data[i]);
}
}
return result;
}
//集合的并集运算
Jihe bingjiys(Jihe s1, Jihe s2) {
Jihe result;
initjihe(&result);
for (int i = 0; i < s1.size; i++) {
addtojihe(&result, s1.data[i]);
}
for (int i = 0; i < s2.size; i++) {
addtojihe(&result, s2.data[i]);
}
return result;
}
//集合的补集运算
Jihe bujiys(Jihe s, Jihe U) {
Jihe result;
initjihe(&result);
for (int i = 0; i < U.size; i++) {
if (!isinjihe(s, U.data[i])) {
addtojihe(&result, U.data[i]);
}
}
return result;
}
//集合的差集运算
Jihe chajiys(Jihe s1, Jihe s2) {
Jihe result;
initjihe(&result);
for (int i = 0; i < s1.size; i++) {
//s1 1 2 3 4
//s2 4 5 6 7
if (!isinjihe(s2, s1.data[i])) {
addtojihe(&result, s1.data[i]);
}
}
return result;
}
//对称差集运算
//s1⊕s2={{s1US2}-{s1^s2}}
//s1⊕s2={{s1-S2}U{s2-s1}}
Jihe DCCys(Jihe s1, Jihe s2) {
Jihe result;
initjihe(&result);
Jihe jiaoji = Jiaojiys(s1, s2);
Jihe cha1 = chajiys(s1, jiaoji);
Jihe cha2 = chajiys(s2, jiaoji);
result = bingjiys(cha1, cha2);
return result;
}
int main() {
//own
Jihe A, B;
initjihe(&A);
initjihe(&B);
printf("集合A的元素个数:\n->");
int n;
scanf("%d", &n);
printf("请输入集合A的元素:");
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
addtojihe(&A, x);
}
printf("请输入集合B的元素个数:\n->");
scanf("%d", &n);
printf("请输入集合B的元素:");
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
addtojihe(&B, x);
}
//全部结果
printf("A ∩ B=");
Jihe jiaoji = Jiaojiys(A, B);
if(jiaoji.size==0){
printf("Ø");
}
else{
for (int i = 0; i < jiaoji.size; i++) {
printf("%d ", jiaoji.data[i]);
}
}
printf("\n");
printf("A ∪ B=");
Jihe bingji = bingjiys(A, B);
for (int i = 0; i < bingji.size; i++) {
printf("%d ", bingji.data[i]);
}
printf("\n");
printf("A的补集=");
Jihe buji = bujiys(A, B);
if(buji.size==0){
printf("Ø");
}else{
for (int i = 0; i < buji.size; i++) {
printf("%d ", buji.data[i]);
}
}
printf("\n");
printf("A - B=");
Jihe chaji = chajiys(A, B);
if(chaji.size==0){
printf("Ø");
}else{
for (int i = 0; i < chaji.size; i++) {
printf("%d ", chaji.data[i]);
}
}
printf("\n");
printf("A ⊕ B=");
Jihe dccdata = DCCys(A, B);
if(dccdata.size==0){
printf("Ø");
}else{
for (int i = 0; i < dccdata.size; i++) {
printf("%d ", dccdata.data[i]);
}
}
printf("\n");
return 0;
}
//6.5
//----------------------------集合的各种运算--------------------------