随机二选一

1-Main2Activity.java

package com.example.lenovo.textapp4;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import java.io.Reader;
import java.util.Random;

public class Main2Activity extends AppCompatActivity {

    Button bt_1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        bt_1=(Button)findViewById(R.id.bt_1);

    }
            Random r=new Random();

            public void bt_on(View v) {

                for (int i=0;i<10;i++)
                {
                    new Thread(){
                        @Override
                        public void run() {
                            try{
                                Thread.sleep(r.nextInt(3000));
                            }catch (Exception e){

                            }
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    bt_1.setText("北京");
                                }
                            });
                            return;
                        }
                    }.start();

                    new Thread() {
                        @Override
                        public void run() {
                            try {
                                Thread.sleep(r.nextInt(3000));
                            }catch (Exception e){

                            }
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {

                                    bt_1.setText("上海");
                                }
                            });
                            return;
                        }
                    }.start();
                }

            }
        }
View Code

 

 

2-activity_main2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.lenovo.textapp4.Main2Activity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/bt_1"
        android:text="城市"
        android:onClick="bt_on"/>

</LinearLayout>
View Code

 

转载于:https://www.cnblogs.com/1ming/p/5497154.html

<think>嗯,用户问的是关于如何随机生成维列表。这个问题看起来不难,但可能需要考虑不同的实现方式和编程语言。首先,我需要确定用户使用的编程语言是什么,因为不同的语言有不同的库和方法。不过,考虑到用户之前可能提到过Python,或者Python在数据处理中的常见性,我应该先以Python为例来解答。 接下来,我得思考用户的具体需求是什么。生成维列表可以有多种方法,比如使用嵌套循环,或者利用列表推导式。随机生成的话,可能需要用到random模块。例如,每个子列表的长度是否固定?元素的范围是多少?这些都是需要考虑的因素。 用户可能需要个灵活的解决方案,可以指定行数和列数,或者允许每行的长度不同。比如,个3行4列的维列表,每个元素是0到9之间的随机整数。这时候,使用列表推导式结合random.randint可能比较合适。例如: import random rows = 3 cols = 4 matrix = [[random.randint(0, 9) for _ in range(cols)] for _ in range(rows)] 这样就能生成个3x4的维列表。但用户可能也有其他的需求,比如元素是浮点数,或者希望每行的长度不同。这时候可能需要更灵活的处理,比如每行随机生成不同长度的子列表。例如: rows = 3 max_cols = 5 matrix = [[random.randint(0, 9) for _ in range(random.randint(1, max_cols))] for _ in range(rows)] 这会让每行的列数在1到5之间随机变化。不过,用户是否希望每行的列数致呢?可能需要给出不同的项,或者询问用户的具体需求,但作为通用回答,应该覆盖这两种情况。 另外,可能需要考虑是否使用numpy库,因为numpy可以更高效地生成随机数组,但用户可能只需要使用标准库。所以应该优先展示标准库的方法,再提到numpy作为可方案。 比如,使用numpy的话: import numpy as np matrix = np.random.randint(0, 10, size=(3, 4)).tolist() 这样也能生成维列表,但需要安装numpy。对于不需要第三方库的情况,还是应该以标准库为主。 总结下,回答应该包括以下几个部分: 1. 使用Python标准库的random模块,生成固定行和列的维列表。 2. 生成可变列数的维列表。 3. 可的使用numpy的方法。 4. 示例代码和说明,让用户能够直接复制使用。 另外,需要检查是否有其他可能性,比如用户是否需要特定的范围,或者不同的数据类型(浮点数、字符串等)。不过,用户的问题比较宽泛,可能只需要整数的情况,但可以简要提到其他数据类型的生成方法,比如使用random.uniform生成浮点数。 可能的疑问点:是否需要处理随机种子?可能不需要,除非用户需要可重复的结果,但般情况不需要。另外,是否需要处理空列表的情况?不太可能,但可以忽略,除非用户特别要求。 所以,最终的回答应该结构清晰,分点说明不同的方法,提供示例代码,并解释每个步骤的作用。同时,语言要简洁明了,适合不同水平的用户理解。</think>以下是如何使用 Python 随机生成维列表的几种方法,具体可根据需求择: --- ### **方法1:固定行数和列数** 生成个 **3行4列** 的维列表,元素为 0-9 的随机整数: ```python import random rows = 3 # 行数 cols = 4 # 列数 # 用列表推导式生成维列表 matrix = [[random.randint(0, 9) for _ in range(cols)] for _ in range(rows)] print(matrix) # 示例输出:[[2, 5, 1, 3], [9, 0, 4, 7], [6, 8, 2, 4]] ``` --- ### **方法2:每行列数随机** 生成个 **3行** 的维列表,每行的列数在 1-5 之间随机: ```python import random rows = 3 matrix = [] for _ in range(rows): cols = random.randint(1, 5) # 随机列数 row = [random.randint(0, 9) for _ in range(cols)] matrix.append(row) print(matrix) # 示例输出:[[3, 7], [1, 0, 4, 2], [9, 5, 8]] ``` --- ### **方法3:使用 NumPy 生成(高效)** 若已安装 NumPy,可生成更复杂的随机数组: ```python import numpy as np # 生成 3行4列的随机整数矩阵(0-9) matrix = np.random.randint(0, 10, size=(3, 4)).tolist() print(matrix) # 示例输出:[[6, 2, 9, 1], [3, 7, 5, 0], [8, 4, 2, 7]] ``` --- ### **扩展功能** 1. **生成浮点数**:将 `random.randint(0,9)` 替换为 `round(random.uniform(0, 10), 2)`,生成 0-10 的两位小数。 2. **自定义范围**:调整 `random.randint(a, b)` 中的 `a` 和 `b` 控制随机数范围。 根据需求择适合的方法即可!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值