wmy1212 发表于 2021-5-27 20:42:53

关于%的问题

位置在零基础入门python新版的第8讲

代码的目的是模拟随机抛200次硬币的结果,不理解的地方在if num % 2这是啥意思? %不是运算符号吗,应该是算余数用的呀。
求大神指点~

import random

counts = int(input("请输入抛硬币的次数:"))
i = 0

print("开始抛硬币实验:")
while i < counts:
    num = random.randint(1, 10)

    if num % 2:
      print("正面", end=" ")
    else:
      print("反面", end=" ")

    i += 1


wp231957 发表于 2021-5-27 20:48:58

求模运算
比如1模2=1    2模2=0   就是取余数

ba21 发表于 2021-5-27 20:49:44

2%2 =0 没错啊。有什么吗?
if 非0真,0假:

肖-肖 发表于 2021-5-27 20:50:17

本帖最后由 肖-肖 于 2021-5-27 20:51 编辑

是这样
random随机生成1到10之间的数
当生成的数为2的倍数的时候: num%2会等于0 if 0的话会执行else 也就是反面
比如:
num = 2
if num % 2:
    print("正面")
else:
    print("反面")
print(num % 2)
这个代码执行后会是这样:
================= RESTART: C:/Users/Administrator/Desktop/a.py =================
反面
0

fish_nian 发表于 2021-5-27 20:52:22

余数为0就是偶数,偶数为正面,否则为反面

wmy1212 发表于 2021-5-27 20:52:49

好嘞,明白了!谢谢大家~~

超人本超 发表于 2021-5-27 21:19:58

为啥我运行你的代码会报错?

wmy1212 发表于 2021-5-27 21:49:13

肖-肖 发表于 2021-5-27 20:50
是这样
random随机生成1到10之间的数
当生成的数为2的倍数的时候: num%2会等于0 if 0的话会执行else 也就 ...

明白啦~谢谢~{:5_109:}

wmy1212 发表于 2021-5-27 21:50:03

超人本超 发表于 2021-5-27 21:19
为啥我运行你的代码会报错?

应该不会鸭,你得新建一个file,保存了然后再run,不能直接在idle里面输入然后回车的~
页: [1]
查看完整版本: 关于%的问题