choice函数,choice函数和sample函数
vb 中choose 的详细用法
Choose
函数
从参数列表中选择并返回一个值。
语法
Choose(index,
choice-1[,
choice-2,
...
[,
choice-n]])
Choose
函数的语法具有以下几个部分:
部分
描述
index
必要参数,数值表达式或字段,它的运算结果是一个数值,且界于
1
和可选择的项目数之间。
choice
必要参数,Variant
表达式,包含可选择项目的其中之一。
说明
Choose
会根据
index
的值来返回选择项列表中的某个值。如果
index
是
1,则
Choose
会返回列表中的第
1
个选择项。如果
index
是
2,则会返回列表中的第
2
个选择项,以此类推。
可以使用
Choose
来查阅一个列表中的项目。例如,如果
index
所指定的值为
3,而
choice-1
=
"one"、choice-2
=
"two"、且
choice-3
=
"three",那么
Choose
将返回
"three"。当
index
代表一选项组中的值时,则这项功能将会特别有用。
即使它只返回一个选项值,Choose
仍然会计算列表中的每个选择项。所以应该注意到这项副作用。例如,当在每个选择项表达式中使用了
MsgBox
函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。
当
index小于
1
或大于列出的选择项数目时,Choose
函数返回
Null。
如果
index
不是整数,则会先四舍五入为与其最接近的整数。
请教C高手
其他都没有问题,就2个地方写错了:
void creat(PT L, int n)函数中:
错误1:
tmp = malloc(sizeof(LNode));
改为:
tmp = (struct Node *)malloc(sizeof(LNode));
原因:
malloc返回的指针是void*型的,所以malloc时必须进行强制类型转换
scanf("%s%s%d%d%d",tmp-name,tmp-sex,tmp-age,tmp-dt.x,tmp-dt.y);
改为:
scanf("%s %s %d %d %d",tmp-name,tmp-sex,tmp-age,tmp-dt.x,tmp-dt.y);
原因:
如果scanf进行%s读取时,%s之间不加上空格的话,scanf会一直认为前一个%s没有读完,导致scanf无法结束
改完以后:
#include stdio.h
#include stdlib.h
#include process.h
typedef struct analy{
int x;
int y;
}DATA;
typedef struct Node
{
char name[10];
char sex[10];
int age;
DATA dt;
struct Node *pri;
struct Node *next;
}LNode,*PT;
LNode a;
PT L = a;
PT p;
void creat(PT, int);
void choice(PT, int);
int main(void)
{
int n;
int ch;
p = L;
L-pri = NULL;
L-next = NULL;
printf("input the number you want to creat:");
scanf("%d",n);
creat(L,n);
do{
printf("name: %s\tsex: %s\tage: %d\tx: %d\ty: %d\t\n",\
p-next-name,p-next-sex,p-next-age,p-next-dt.x,p-next-dt.y);
p = p-next;
}while(p-next!=NULL);
printf("\n");
do{
printf("name: %s\tsex: %s\tage: %d\tx: %d\ty: %d\t\n",\
p-name,p-sex,p-age,p-dt.x,p-dt.y);
p = p-pri;
}while(p-pri!=NULL);
printf("\n");
while(1)
{
ch = getchar();
if(ch == 'c')
return 0;
else
choice(p, ch);
}
system("pause");
return 0;
}
void creat(PT L, int n)
{
int i;
PT P = L;
PT tmp;
for(i=0;in;i++)
{
tmp = (struct Node *)malloc(sizeof(LNode));//error1
printf("input the %d data:\n",i+1);
scanf("%s %s %d %d %d",tmp-name,tmp-sex,tmp-age,tmp-dt.x,tmp-dt.y);//error2
tmp-pri = P;
tmp-next = NULL;
P-next = tmp;
P = tmp;
}
}
void choice(PT p, int ch)
{
switch(ch)
{
case 'x':
if(p-pri != NULL)
{
p = p-pri;
printf("name: %s\tsex: %s\tage: %d\tx: %d\ty: %d\t\n",\
p-name,p-sex,p-age,p-dt.x,p-dt.y);
}
break;
case 'y':
if(p-next != NULL)
{
p = p-next;
printf("name: %s\tsex: %s\tage: %d\tx: %d\ty: %d\t\n",\
p-name,p-sex,p-age,p-dt.x,p-dt.y);
}
break;
default:
printf("Please type 'x' or 'y' to choice!\n");
printf("Please type 'c' to exit!\n");
break;
}
}
运行示例:
input the number you want to creat:3
input the 1 data:
aa aa 1 1 1
input the 2 data:
bb bb 2 2 2
input the 3 data:
cc cc 3 3 3
name: aa sex: aa age: 1 x: 1 y: 1
name: bb sex: bb age: 2 x: 2 y: 2
name: cc sex: cc age: 3 x: 3 y: 3
name: cc sex: cc age: 3 x: 3 y: 3
name: bb sex: bb age: 2 x: 2 y: 2
name: aa sex: aa age: 1 x: 1 y: 1
Please type 'x' or 'y' to choice!
Please type 'c' to exit!
y
name: aa sex: aa age: 1 x: 1 y: 1
Please type 'x' or 'y' to choice!
Please type 'c' to exit!
y
name: aa sex: aa age: 1 x: 1 y: 1
Please type 'x' or 'y' to choice!
Please type 'c' to exit!
x
Please type 'x' or 'y' to choice!
Please type 'c' to exit!
c
Press any key to continue
区分choice choose 和select
choice是choose的名词。choose和select:choose指一般意义上的选择。操作方法如下:
1、首先在桌面右击新建,然后进去打开EXCEL。
2、choose函数的含义,图中框的就是其含义。
3、这是choose函数的语法格式。
4、如果参数Index_num为数值2,则返回value2。
5、如果参数Index_num为表达式if(D260,1,2)最终也是返回数值1和2,如果是1,则返回value1不合格。否则返回value2合格。
python:choice函数的作用是什么?
random.choice
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章,也可以参考: 。下面是使用choice的一些例子:
print random.choice("学习Python")
print random.choice(["JGood", "is", "a", "handsome", "boy"])
print random.choice(("Tuple", "List", "Dict"))
您的学习方法有些问题。
一,不会或者不懂可以上百度和google上获取。
二,python有个自带手册,比如choice这个不懂,你在它的手册里面搜就能搜到,如果还没有再来发帖提问。
三,python的提问不建议百度上面来,建议去maillist里面。
再推荐2个论坛吧。
和
Python的range()、len()、choice()
函数原型 :range(start, end, scan):
参数含义 :start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end:技术到end结束, 但不包括end. 例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
里面的一个坑:
我的理解是for循环是针对里面的每一个在range(5)的数进行循环里面的操作。
程序的输出结果如下:
函数:len()
1:作用: 返回字符串、列表、字典、元组等长度
2:语法: len(str)
3:参数:
str:要计算的字符串、列表、字典、元组等
4:返回值 :字符串、列表、字典、元组等元素的长度
5:实例
用len()求得数组a的长度为4,其中range(len(a))等价于range(4),输出结果都为[0,1,2,3]
choice()需要import random
功能:返回列表、元组、字符串的随即项
simple和choicepython的区别
答案:sample和choice是random库中两个函数。其区别看例子。
#例如:
from random import sample,choice
stringa="abcde"#构造字符串
choicea=choice(stringa)#在字符串"abcde"中随机任取一个元素
samplea=sample(stringa,2)#在字符串"abcde"中随机任取两个元素,以列表形式输出。注意sample的第二个参数不超过第一个参数stringa的字符串长度
print(f"{choicea=}\n{samplea=}")
'''返回
choicea='d'
samplea=['d', 'a']
'''