设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【每日一坑 1】 随机取数

  [复制链接]

0

主题

1

好友

61

积分

注册会员

Rank: 2

45#
发表于 2016-2-3 09:04:51 |只看该作者
crossin先生 发表于 2016-2-2 22:58
if (m.isdigit & n.isdigit) ==True
isdigit本身是个函数,你要调用函数,需要加括号
这个条件别这么写。 ...

谢谢先生:)我记下来了,感激
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

44#
发表于 2016-2-2 22:58:21 |只看该作者
xqqxjnt1988 发表于 2016-2-2 16:02
crossin先生,请帮我看看代码
我第一次写代码,见笑了,请多批评,你们大家的批评就是我进步的动力,谢谢
# ...

if (m.isdigit & n.isdigit) ==True
isdigit本身是个函数,你要调用函数,需要加括号
这个条件别这么写。&是按位与操作符。
所以要写成
  1. if m.isdigit() and n.isdigit():
复制代码
其他的条件也类似
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

1

好友

61

积分

注册会员

Rank: 2

43#
发表于 2016-2-2 16:02:51 |只看该作者
crossin先生,请帮我看看代码
我第一次写代码,见笑了,请多批评,你们大家的批评就是我进步的动力,谢谢
#!/usr/bin/python
#coding=utf-8
#下面这个函数是从n个数里随机产生m个数
import random

def sort_m():
    try:
        n = raw_input("please input the total numbers:\t")
        m = raw_input("please int numbers you select:\t")
        msort= set()
        if (m.isdigit & n.isdigit) ==True:
            print "both are digits!OK!ready!"
        else:
            print"plese input digits!"
   

            
        if 0<int(m) & int(m)<int(n):
            mint= int(m)
            nint = int(n)
        else:
            print "wrong input"
            exit
        
        for i in range(0,mint,1):
            ran_int=random.randint(1,nint)
            msort.add(ran_int)
            print "now add this number:\t" , ran_int
        
        print"the final set is as following:\t" , msort
   
    except Exception as e:
        print "please input digits!Not String!"
        
    finally:
        print "END!"
   
if __name__ == '__main__':
    sort_m()
   
    #for i in (0,mint):则只会循环两次
    #isdigit()可以帮忙判断输入的字符是不是数字
回复

使用道具 举报

1

主题

0

好友

207

积分

中级会员

Rank: 3Rank: 3

42#
发表于 2016-1-16 11:36:51 |只看该作者

  1. import random
  2. import sys

  3. o = []
  4. m = int(input("m = "))
  5. n = int(input("n = "))
  6. if 1 <= m <= n : sys.exit(1)
  7. while len(o) < n:
  8.   a = random.choice(range(1,m+1))
  9.   if a in o: continue
  10.   o.append(a)

  11. o.sort()
  12. print(o)
复制代码
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

41#
发表于 2015-10-5 10:49:11 |只看该作者
toddlerya 发表于 2014-7-21 11:53
倒数第二行else中的m_n() 是做什么用的呢?去掉也没影响呀

如果输入错误的话,就会再次调用函数本身,开始新一轮输入。
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

40#
发表于 2015-9-15 23:41:50 |只看该作者
import random

n=input('n:')
m=input('m:')
if 1<=m<=n:
   l= [random.randint(1,n) for i in range(0,m)]
   print l
else:
    print "ERRO"
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

39#
发表于 2015-9-1 02:51:54 |只看该作者
# -*- coding: cp936 -*-
import random

print('n选择为什么数?')
n = input()
print('从n中选几个数m?')
m = input()
lst=[]

if m>n or m<1:
    print('错了哦,1<=m<=n')
else:
    lst = random.sample(range(1,n+1),m)
    print lst
回复

使用道具 举报

1

主题

1

好友

45

积分

新手上路

Rank: 1

38#
发表于 2015-5-2 23:01:56 |只看该作者

就会这么多,感觉好low~~~

本帖最后由 UFO 于 2015-5-2 23:05 编辑
  1. from random import randint
  2. n = int (input())
  3. m = int (input())
  4. a = 1
  5. while a <= m:
  6.     num = randint(1,n)
  7.     print (num)
  8.     a+=1
复制代码
回复

使用道具 举报

2

主题

0

好友

216

积分

中级会员

Rank: 3Rank: 3

37#
发表于 2014-7-21 12:50:32 |只看该作者
#-*- coding: cp936 -*-
import random

print "从1~n中,随机取m个数。n1<=m<=n"

def ran():
    m = int(input("请输入你要得到的数字个数:"))
    n = int(input("请输入你需要的数字的上限:"))
    if 1 <= int(m) <= int(n):
        a = random.sample(range(1,n),m)
        print a
        
    else:
        print("~"*25)
        print("请确定 1<= m <= n?")
        print("~"*25)
        ran()
ran()
   
回复

使用道具 举报

2

主题

0

好友

216

积分

中级会员

Rank: 3Rank: 3

36#
发表于 2014-7-21 11:53:00 |只看该作者
byron 发表于 2013-12-12 20:36

倒数第二行else中的m_n() 是做什么用的呢?去掉也没影响呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-19 02:20 , Processed in 0.036508 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部